М-14 Численные методы

advertisement
ИНФОРМАТИКА
Численные методы.
Аппроксимация
Интерполяция
Графическое представление аппроксимации
y  f (x)
y
y   (x)
0
x
Метод наименьших квадратов
N
N
2
Q     [ (( xi )  f ( xi )]  min
i 1
2
i
i 1
Метод Крамера
Пример алгоритма
аппроксимации экспериментальных
данных методом наименьших
квадратов
N
DET2=D(1,1)*C(2)-D(1,2)*C(1)
x(N), y(N)
A(1)=DET1/DET
D(2,2),
A(2), C(2)
A(2)=DET2/DET
I=1,N
x(i), y(i)
A(1), A(2)
X
Y=A(1) + A(2)*x
D(1,2)=0
x, y
D(2,2)=0
Q$
C(1)=0
C(2)=0
Q$=”Y”
I=1,N
КОНЕЦ
D(1,2)=D(1,2)+x(i)
D(2,2)=D(2,2)+x(i)^2
C(1)=C(1)+y(i)
C(2)=C(2)+x(i)*y(i)
D(1,1)=N
D(2,1)=D(1,2)
DET=D(1,1)*D(2,2)-D(1,2)^2
DET1=C(1)*D(2,2) – C(2)*D(1,2)
1
Интерполяция данных
y
y0
y0  f ( x0 )
y1  f ( x1 )
y1
yi  f ( xi )
yi
y n  f ( xn )
y0
0
x0
x1
xi
xn
x
y0  f ( x0 )
x0
,
x1,...,
,
y1  f ( x1 )
xn
,…,
- узлы
yn  f ( xn )
интерполяции.
.
P( x0 )  f ( x0 ), P( x1 )  f ( x1 ),...,P( xn )  f ( xn )
P( x )  A0  A1 ( x  x0 )  A2 ( x  x0 )( x  x1 )  ...  An ( x  x0 )( x  x1 )...( x  xn1 )
y0  A0

 y1  A0  A1 ( x1  x0 )
 y  A  A ( x  x )  A ( x  x )( x  x )
2
0
1
2
0
2
2
0
2
1

 ...........................................................................
 y  A  A ( x  x )  A ( x  x )( x  x )  ...  A ( x  x )( x  x )...( x  x )
n
0
1
n
0
2
n
0
n
1
n
n
0
n
1
n
n 1


y  A
 y  A  A h
 y  A  2hA  2!2hA
 ...........................................................................
 y  A  nhA  n( n  1 )2hA  n( n  1 )( n  2 )3hA

0
0
1
0
2
0
1
n
0
1
1
2
2
3
 ...  n! nhAn
ЛИНЕЙНАЯ ИНТЕРПОЛЯЦИЯ







y0  A0
y1  A0  A1h
y1  y0
A1 
h
y1  y0
P( x )  y0 
( x  x0 )
h
Нелинейная интерполяция (квадратичной интерполяция)
y0  f ( x0 )
y1  f ( x0  h )
y2  f ( x0  2h )
y1  y0
y2  2 y1  y0
f ( x )  y0 
( x  x0 ) 
( x  x0 )( x  ( x0  h ))
2
h
2h
h  x1  x0  x2  x1
x0  x  x0  2h
Кусочно-линейное описание
контуров обувной детали
y
A i (xi ; yi )
A (x ; y )
3
3
3
A (x ; y )
2
2
2
A (x ; y )
1
1
An (xn ; yn )
1
0
A (x ; y )
1
1
1
Интерполяция полиномом Лагранжа
x  xi
Pn ( x )   f i 
i  0 j 0 x i  x j
n
n
j i
n
Pn ( x )   A i f i
i 0
n
 (x  x j )
Ai 
j 0
n
;i  j
 (x i  x j )
j 0
Коэффициент полинома находится как отношение произведений отклонений
точки х, не принадлежащей узлу, от всех узлов (исключая i-й) и произведения
отклонений i-го узла от всех остальных узлов.
При создании алгоритма расчета по формуле Лагранжа необходимо
формировать 2 цикла: по i – внешний, по j – внутренний. Во внешнем цикле
формируется сумматор (вычисляется сумма произведений коэффициентов полинома
и значений функции). Во внутреннем цикле формируются интеграторы, начальные
значения их устанавливаются во внешнем цикле.
Интерполяция полиномом Ньютона
Pn(x) = A0 + A1*(x-x0) + A2*(x-x0)*(x-x1) + …+ An*(x-x0)*(x-x1)*…*(x-xn-1)
Неизвестные коэффициенты Ai определяются из условий Лагранжа:
Pn(xi) = fi
Первый интерполяционный полином для интерполяции вперед:
q(q  1)2 y 0
q (q  1)...(q  n  1)n y 0
Pn ( x )  y 0  qy 0 
 ... 
2!
n!
x*  x0
q
h
где
h – шаг интерполяции.
Второй интерполяционный полином Ньютона для
интерполяции назад:
Pn ( x )  y n  qy n 1
где
q
q(q  1)...(q  n  1)n y 0
q(q  1)2 y n  2

 ... 
2!
n!
x *  xn
h
h – шаг интерполяции.
Конечные разности i-го порядка:
y0 = y1-y0
y1 = y2-y1
…
yn-1 = yn – yn-1
y20 = y1-y0
y21 = y2-y1
Первые разности или конечные разности
первого порядка
конечные разности 2-го порядка
Таблица конечных разностей:
X
y
y
2y
x0
y0
y1-y0
x1
y1
y2-y1
y1-y0 2y12y0
y2-y1 2y22y1
x2
y2
y3-y2
x3
y3
y4-y3
y3-y2
3y
4y
3y23y1
3
НАЧАЛО
Вариант блок-схемы
интерполяции
полиномом Лагранжа
N
1
1
A=P1/P2
X(N), Y(N)
S = S + A*y(i)
I=1, N
X1, S
X(i), Y(i)
B$
X1
B$=”y”
S=0
КОНЕЦ
I=1, N
P1=1: P2=1
J=1, N
I<>J
P1=P1*(x1 – x(j))
P2=P2*(x(i) – x(j))
3
1
1
2
2
Download