VM-6аппрокс-нов.ppt
- Количество слайдов: 11
Приближение функции. Продолжение темы Для заданных на отрезке значениях независимой переменной xi и соответствующих им значениях зависимой переменной yi (i=0, 1, 2, …, n) определить аналитическую зависимость. y=f(x). Основные этапы построения приближения функции. • • Выбор вида зависимости Выбор критерия Выбор узловых точек Оценка точности
АППРОКСИМАЦИЯ для 2 -го курса
Метод наименьших квадратов Постановка задачи. Пусть данные некоторого эксперимента значений независимой переменной представлены в виде таблицы x и зависимой переменной y: Требуется отыскать аналитическую зависимость f(x, a 0, a 1, …, am), являющуюся функцией одной независимой переменной x (фактор) и параметров a 0, a 1, a 2, …, am, которая наилучшим образом описывала бы эти экспериментальные данные в смысле минимума квадратичного критерия рассогласования R(a 0, a 1, …, am):
-Простота записи -Хорошо описывать экспериментальные данные -Параметры легко вычисляемы. Этим требованиям удовлетворяют модели, линейные относительно параметров. Определим ее как полином степени m, вида: Надо найти такие значения параметров, при которых квадратичный критерий рассогласования имел бы минимальное значение Вывод формулы для определения параметров рассмотрим на примере полинома степени m. Запишем значения функции отклика во всех точках
Запишем в матричной Где форме
Тогда квадратичный критерий ( критерий рассогласования) в матричном виде: Для получения минимума критерия, необходимо чтобы частные производные по параметрам равнялись нулю. После преобразований получим или
В общем случае при аппроксимации полиномами высших порядков матрица будет иметь вид: Пример. Определить параметры зависимости вида используя метод данным: наименьших квадратов, по следующим экспериментальным i 0 1 2 3 xi -1 0 1 2 yi 2 1 2 4
Программа на матлабе • • • • Clc %программа аппроксимации %Y=a 0 + a 1 x X=[1 2 3 4 5]; fi=[1 0; 1 1; 1 2; 1 3; 1 4; 1 5]; y=[3. 01; 6. 61; 14. 17; 25. 24; 39. 44; 57. 39]; fit = fi'; disp('fit='); disp(fit); n=fit*fi; disp('n='); disp(n); b=fit*y; disp ('b='); disp(b); nobr=inv(n); disp('nobr='); disp(nobr); a=nobr*b; disp('a='); disp(a);
Begin m, n, x, y i=1 шаг 1 до n close plot(x, y, ’ko’) hold on plot(xt, yt, ’k-’) j=1 шаг 1 до m F(i, j)=x(i)^(m-1) a=inv(F’*F)*F’*y yr=F*a; dy=y-yr r=dy’*d a, dy, r End 11
VM-6аппрокс-нов.ppt