4) найти явный вид эмпирической формулы y = j(x, С0, С1) и построить график эмпирической функции на плоскости x, y, оценить максимальную ошибку приближения;
5) оформить отчет по лабораторной работе.
Указания: в ходе выполнения лабораторной работы необходимо написать программу на языке системы MATLAB, реализующую вычисление коэффициентов С0 и С1 функции y = j(x, С0, С1) на основе МНК. Выбор формулы преобразования можно сделать как автоматически (по величине уклонения d (4.22) от прямой), так и вручную – т.е. пользователь сам выбирает тип преобразования на основе оценки расположения точек (xi, yi) на плоскости x, y или точек (Xi, Yi) на плоскости X, Y.
Отчет по данной лабораторной работе должен содержать следующие обязательные разделы:
1) цель работы;
2) вариант задания и постановку задачи;
3) математические выкладки при получении системы уравнений, результирующие формулы для вычисления коэффициентов С0 и С1;
4) текст программы вычисления коэффициентов С0, С1 по заданным экспериментальным точкам (xi, yi) с достаточным для понимания количеством комментариев;
5) результаты расчетов. Выходными данными для программы будут
- величина уклонения d для выбранного способа выравнивания;
- значения коэффициентов С0, С1 для эмпирической функции y = j(x, С0, С1);
- график функции y = j(x, С0, С1) и точек (xi, yi) на плоскости x, y;
- график функции Y=
+ X и точек (Xi, Yi) на плоскости X, Y;6) выводы о проделанной работе.
Отчет по лабораторной работе выполняется письменно или в электронном виде с применением текстового редактора MS Word. Программа и сам отчет должны быть присланы в ТМЦ ДО ТУСУР для проверки преподавателем.
Целью курсового проектирования является: углубленное изучение методов и алгоритмов решения различных вычислительных задач; получение навыков в разработке программ для решения вычислительных задач.
Выбор языка программирования для реализации программы остается за разработчиком (Pascal, C, C++, Java и др.). Готовая программа должна быть самостоятельным приложением (т.е. должна быть представлена в виде самостоятельно исполняемого exe-файла). Приветствуется реализация в среде ОС Windows с использованием сред визуального программирования Delphi, Visual C++, C Builder, J Builder и пр.
По результатам работы оформляется пояснительная записка (ПЗ) в соответствие с требованиями изложенными ниже. Разработанная программа, исходные тексты и сама ПЗ присылается для проверки в ТМЦ ДО ТУСУР.
Таблица – Варианты заданий на курсовую работу
№ варианта | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
№ задачи | 1 | 9 | 3 | 11 | 5 | 15 | 17 | 13 | 8 | 10 | 7 | 14 | 6 | 16 | 4 | 12 | 2 |
Вариант задания определяется по формуле
Nв=(N*k) div 100,
где Nв – искомый номер варианта;
N – общее число возможных вариантов (N=17);
k – две последних цифры пароля (число от 00 до 99);
div – операция целочисленного деления с отбрасыванием остатка.
Если получается Nв = 0, то берется последний вариант N.
Задачи 18, 19 и 20 предлагаются студентам для самостоятельного выбора без учета № варианта.
I Линейная алгебра
1) Решение СЛАУ методом Гаусса с выбором главного элемента в строке или столбце.
2) Решение СЛАУ методом простых итераций.
3) Решение СЛАУ итерационным методом Гаусса-Зейделя.
4) Обращение матрицы на основе метода Гаусса с выбором главного элемента в строке или столбце.
Основные требования к проекту:
▪ программа должна быть оформлена в виде самостоятельной процедуры (подпрограммы);
▪ входные данные (размер системы уравнений, матрицы коэффициентов А и В) задаются с клавиатуры и из внешнего текстового файла;
▪ результат решения (значения искомых переменных) выводится на экран и во внешний текстовый файл;
▪ для тестирования вычислительной процедуры написать программу-оболочку, с помощью которой можно быстро изменять входные данные и просматривать результаты;
▪ исследовать решение СЛАУ размером 10х10 и 50х50, при этом для получения матриц А и В следует использовать генератор случайных величин;
▪ проверить работоспособность программы на плохо обусловленной (близкой к вырождению) задаче. Для этого сформировать входную матрицу коэффициентов А размером не менее 30х30 с одним или двумя маленькими диагональными элементами (порядка 10–6-10–8);
▪ сравнить результаты, полученные с помощью разработанной программы, с результатами расчетов в системах для математических расчетов MATLAB или MathCAD.
II Приближение функций и аппроксимация данных
5) Аппроксимация экспериментальных данных на основе метода наименьших квадратов – в качестве аппроксимирующей функции использовать полином степени m, т.е. y = j(
, х) = C0 + C1x + C2x2 + … + Cm xm6) Построение графика функции y=f(x) с использованием кубических сплайнов
Основные требования к проекту:
5. исходные данные (точки (xi, yi)) считываются из внешнего текстового файла;
6. необходимо построить графики исходных данных и приближающей функции в одной системе координат;
7. результаты вычислений (коэффициенты приближающих функций) выводить на экран и во внешний текстовый файл;
8. для тестирования в качестве исходных данных можно взять значения функции (sin x, exp(–x) и т.п.), рассчитанные в отдельных точках xi в заданном интервале.
III Численное интегрирование функций
7) Программа расчета определенных интегралов методом прямоугольников (правых или левых и центральных).
8) Программа расчета определенных интегралов методом трапеций.
9) Программа расчета определенных интегралов методом Симпсона (парабол).
Основные требования к проекту:
исходными данными для программы является вид подынтегральной функции, требуемая точность e и пределы интегрирования а и b; результат – значение интеграла с указанной точностью;
процедура интегрирования должна быть оформлена в виде самостоятельной подпрограммы;
предусмотреть возможность выбора шага интегрирования самим пользователем или автоматически (программой) по заданной точности e решения;
для тестирования подпрограммы написать программу-оболочку, с помощью которой можно осуществлять выбор тестирующей функции и просматривать результаты;
выполнить тестирование подпрограммы на 3-4 функциях, для тестирования можно использовать стандартную таблицу интегралов или пакет для математических расчетов MATLAB или MathCAD;
для каждой функции необходимо исследовать влияние шага интегрирования на точность нахождения интеграла (построить график зависимости ошибки интегрирования от величины шага).
IV Нахождение корней (нулей) нелинейных уравнений
10) Нахождение нулей функции y = f(x) методом дихотомии.
11) Нахождение нулей функции y = f(x) методом хорд.
12) Нахождение нулей функции y = f(x) методом Ньютона – для нахождения значений производной на каждом шаге можно использовать аппроксимацию конечными разностями.
13) Нахождение нулей функции y = f(x) модифицированным методом Ньютона.
14) Нахождение нулей функции y = f(x) методом секущей.
Основные требования к проекту:
исходными данными к программе выступают вид функции y = f(x), интервал значений x, на котором находятся корни, и точность нахождения корня e;
выходными данными программы будут найденные на указанном интервале все корни функции f(x)=0;
процедура нахождения нулей должна быть оформлена в виде самостоятельной подпрограммы;
перед уточнением значения каждого нуля заданным методом, необходимо выполнить предварительное отделение нулей на указанном интервале изменения функции, отделение корней должно выполняться автоматически в самой программе;
для тестирования подпрограммы написать оболочку, с помощью которой можно осуществлять ввод исходных данных, выбор тестовых функций и просмотр результатов;