Задание №3
Аппроксимация функции методом наименьших квадратов (МНК).
Данное задание подразумевает нахождение для некоторой совокупности данных аппроксимирующей функции (многочлена степени m), построенной методом наименьших квадратов (МНК).
Цель работы:
Необходимо составить программу нахождения коэффициентов многочлена φ(x)=a0+a1*x+… an*xm методом наименьших квадратов.
Рекомендации по выполнению работы:
Пусть, например, имеется следующая совокупность данных:
хi | 1,2 | 1,4 | 1,6 | 1,8 | 2,0 | 2,2 | 2,4 | 2,6 | 2,8 | 3,0 |
yi | 8,3893 | 8,6251 | 8,9286 | 8,9703 | 9,1731 | 9,1784 | 8,8424 | 8,7145 | 8,3077 | 7,9611 |
Поиск необходимых коэффициентов осуществляется следующим образом:
где n– количество точек (x, y),
m – степень искомого многочлена,
a0, a1, …, am – искомые коэффициенты (φ(x)=a0+a1x+… +amxm).
Требования к программе
При выполнении данной работы необходимо:
· Задать границы отрезка [x1, xn], на котором строится аппроксимирующая функция φ(x)=a0+a1*x+… an * xm
· Задать m – степень многочлена
· Примечание: x1, xn, m вводятся с клавиатуры.
· Для получения исходных данных (x, y), по которым строится аппроксимирующая функция φ(x)=a0+a1*x+… an* xm предусмотреть:
- Ввод произвольно расположенных узлов xi, i=1, n с клавиатуры
- Расчет узлов xi, i=1, n, соответствующих равномерному расположению аргумента x на отрезке [x1, xn]
- В пп. 1,2 значения yi, i=1, n либо вводятся с клавиатуры (если исходная функция неизвестна), либо вычисляются по заданной функции f(x). Выражение, определяющее функцию, вводится с клавиатуры и должно соответствовать правилам записи выражений в MATLAB
- Ввод данных (xi, yi, i=1, n) из файла
· Решить систему уравнений для определения коэффициентов многочлена φ(x)
· Построить графики исходной таблично заданной функции и многочлена φ(x)
· Если исходные данные заданы в виде функции f(x), построить график погрешности интерполяции /f(x) – φ(x)/. Рассчитать максимальное по модулю значение погрешности интерполяции на заданном промежутке.
При выполнении последнего пункта на отрезке [x1, xn] взять не менее 500 точек для проведения расчетов
Требования к оформлению лабораторной работы
Отчет должен содержать:
1. Постановку задачи
2. Текст программы
3. Результаты тестирования
Примечание тексты программ должны быть снабжены комментариями.
1. Ануфриев И.Е. Самоучитель Matlab 5.3/6.x – СПб.: БХВ-Петербург, 2003. – 736 с.: ил.
2. В.П. Дьяконов MATLAB 6.5 SPI/7 + Simulink 5/6 в математике и моделировании. Серия «Библиотека профессионала». – М.: СОЛОН-Пресс, 2005. – 576 с.: ил.
3. Ануфриев И.Е., Смирнов А.Б., Смирнова Е.Н. MathLab 7. – СПб.: БХВ-Петербург, 2005. – 1104 с.: ил.