НЕЛИНЕЙНАЯ АППРОКСИМАЦИЯ ПО МЕТОДУ НАИМЕНЬШИХ КВАДРАТОВ
ПЛАН 1. Нелинейная аппроксимация 2. Квадратичная аппроксимация 3. Аппроксимация показательной функцией 4. Аппроксимация степенной функцией
1 2 1-линейная аппроксимация 2-нелинейная аппроксимация S1>>S2 Где S1,S2- сумма квадратов разности рассчитанных и экспериментально измеренных значений функций F(х)
Квадратичная Степенная; Показательная; 3 вида аппроксимационных зависимостей
КВАДРАТИЧНАЯ АППРОКСИМАЦИЯ Рассмотрим квадратичную аппроксимацию таблично заданной функцией:
Неизвестные коэффициенты аппроксимации определяются из условия минимума суммы квадратов разностей между этими значениями :
ДЛЯ ОПРЕДЕЛЕНИЯ КОЭФФИЦИЕНТОВ СОСТАВЛЯЕТСЯ СИСТЕМА УРАВНЕНИЙ ИЗ ЧАСТНЫХ ПРОИЗВОДНЫХ ПО ПАРАМЕТРУ
D 0
АППРОКСИМАЦИЯ ПОКАЗАТЕЛЬНОЙ ФУНКЦИИ ln(y) = ln(a)+kx; η = ln(y); После определения а 0 и а 1 по методу наименьших квадратов определяется исходный коэффициент:
АППРОКСИМАЦИЯ СТЕПЕННОЙ ФУНКЦИИ lg(y) = lg(a)+klg(x) ; lg(y) = η ;
ПРИМЕР АППРОКСИМАЦИИ СТЕПЕННОЙ ФУНКЦИИ
ДАЛЕЕ ЗНАЧЕНИЯ А0 И А1 ВЫЧИСЛЯЮТСЯ ЧЕРЕЗ S1, S2, S3, S4
ИСХОДНЫЕ ДАННЫЕ: ПОЛУЧЕННЫЙ РЕЗУЛЬТАТ
ПРИМЕР АППРОКСИМАЦИИ КВАДРАТИЧНОЙ ФУНКЦИЕЙ program tu134; uses crt; const n=6; x:array[1..n] of real=(300,400,500,600,700,800); y:array[1..n] of real=(6.97,7.01,7.12,7.28,7.45,7.62); var i:integer; s3,s5,xx,s7,s4,s6,s1,s2,a0,a1,a2,yy,d1,d2,d3,d4:real; begin clrscr; for i:=1 to n do begin s1:=s1+x[i]; s2:=s2+y[i]; s3:=s3+sqr(x[i]); s5:=s5+sqr(x[i])*x[i]; s7:=s7+x[i]*x[i]*x[i]*x[i]; s4:=s4+x[i]*y[i]; s6:=s6+sqr(x[i])*y[i]; end; d1:=n*s3*s7+s1*s5*s3+s1*s5*s3-s3*s3*s3-s1*s1*s7-n*s5*s5; d2:=s2*s3*s7+s4*s5*s3+s6*s1*s5-s6*s3*s3-s2*s5*s5-s4*s1*s7; d3:=n*s4*s7+s1*s6*s3+s3*s2*s5-s3*s3*s4-s1*s2*s7-s6*s5*n; d4:=n*s3*s6+s1*s5*s2+s1*s4*s3-s3*s3*s2-s5*s4*n-s1*s1*s6; a0:=d2/d1; a1:=d3/d1; a2:=d4/d1; writeln('y=',a0:5:3,a1:5,'*x+',a2:5,'*x*x'); xx:=800; yy:=a0+a1*xx+a2*sqr(xx); writeln('yy= ',yy:5:2); end.
СПАСИБО ЗА ВНИМАНИЕ