Аппроксимация функций.
Из курса математики известны 3 способа задания функциональных зависимостей:
1) аналитический
2) графический
3) табличный
Табличный способ обычно возникает в результате эксперемента.
Недостаток табличного задания функции заключается в том, что найдутся
значения переменных которые неопределены таблицей. Для отыскания таких
значений определяют приближающуюся к заданной функцию, называемой
аппроксмирующей, а действие замены аппроксимацией.
Аппроксимация заключается в том, что используя имеющуюся информацию по f(x)
можно рассмотреть другую функцию ?(ч) близкую в некотором смысле к f(x),
позволяющую выполнить над ней соответствующие операции и получить оценку
погрешность такой замены.
?(х)- аппроксимирующая функция.
Интерполяция (частный случай аппроксимации)
Если для табличной функции y=f(x), имеющей значение x0 f(x0) требуется
построить аппроксимирующюю функцию ((x) совпадающую в узлах с xi c
заданной, то такой способ называется интерполяцией
При интерполяции, заданная функция f(x) очень часто аппроксимируется с
помощью многочлена, имеющего общий вид
((x)=pn(x)=anxn+an-1xn-1+…+a0
В данном многочлене необходимо найти коэффициенты an ,an-1, …a0 , так как
задачей является интерполирование, то определение коэффициентов необходимо
выполнить из условия равенства:
Pn(xi)=yi i=0,1,…n
Для определения коэффициентов применяют интерполяционные многочлены
специального вида, к ним относится и полином Лагранжа Ln(x).
[pic] i(j
В точках отличных от узлов интерполяции полином Лагранжа в общем случае не
совпадает с заданной функцией .
Задание
С помощью интерполяционного полинома Лагранжа вычислить значение функции y
в точке xc, узлы интерполяции расположены равномерно с шагом (х=4,1
начиная с точки х0=1,3 даны значения функции y={-6.56,-3.77,-
1.84,0.1,2.29,4.31,5.86,8.82,11.33,11.27}.
ГСА для данного метода
CLS
DIM Y(9)
DATA -6.56,-3.77,-1.84,0.1,2.29,4.31,5.86,8.82,11.33,11.27
X0 = 1.3: H = 4.1: N = 10: XC = 10
FOR I = 0 TO N - 1
1 X(I) = X0 + H * I
READ Y(I)
PRINT Y(I); X(I)
NEXT I
S1 = 0: S2 = 0: S3 = 0: S4 = 0
FOR I = 0 TO N - 1
2 S1 = S1 + X(I) ^ 2
S2 = S2 + X(I)
S3 = S3 + X(I) * Y(I)
S4 = S4 + Y(I)
NEXT I
D = S1 * N - S2 ^ 2
D1 = S3 * N - S4 * S2
D0 = S1 * S4 - S3 * S2
A1 = D1 / D: A0 = D0 / D
YC = A1 * XC + A0
PRINT "A0="; A0, "A1="; A1, "YC="; YC
FOR X = 0 TO 50 STEP 10
Y = A1 * X + A0
PRINT X, Y
NEXT X
END
XC= 10
Х Y
1.3 -6.56
5.4 -3.77
9.5 -1.84
13.6 .1
17.7 2.29
21.8 4.31
25.9 5.86
30 8.82
34.1 11.33
38.2 11.27
S=-1.594203
АППРОКСИМАЦИЯ ФУНКЦИЕЙ. МЕТОД НАИМЕНЬШИХ КВАДРАТОВ.
В инженерной деятельности часто возникает необходимость описать в виде
функциональной зависимости связь между величинами, заданными таблично или в
виде набора точек с координатами (xi,yi), i=0,1,2,...n, где n - общее
количество точек. Как правило, эти табличные данные получены
экспериментально и имеют погрешности. При аппроксимации желательно получить
относительно простую функциональную зависимость (например, полином),
которая позволила бы "сгладить" экспериментальные погрешности, получить
промежуточные и экстраполяционные значения функций, изначально не
содержащиеся в исходной табличной информации.
Графическая интерпретация аппроксимации.
Эта функциональная (аналитическая) зависимость должна с достаточной
точностью соответствовать исходной табличной зависимости. Критерием
точности или достаточно "хорошего" приближения могут служить несколько
условий.
Обозначим через fi значение, вычисленное из функциональной зависимости для
x=xi и сопоставляемое с yi.
Одно из условий согласования можно записать как
S = [pic](fi-yi) > min ,
т.е. сумма отклонений табличных и функциональных значений для одинаковых
x=xi должна быть минимальной (метод средних). Отклонения могут иметь разные
знаки, поэтому достаточная точность в ряде случаев не достигается.
Использование критерия S = [pic]|fi-yi| > min , также не приемлемо,
т.к. абсолютное значение не имеет производной в точке минимума.
Учитывая вышеизложенное, используют критерий наименьших квадратов, т.е.
определяют такую функциональную зависимость, при которой
S = (fi-yi)2 , (1)
обращается в минимум.
В качестве функциональной зависимости рассмотрим многочлен
f(x)=C0 + C1X + C2X2+...+CMXM. (2)
Формула (1) примет вид S = [pic]( C0 + C1Xi + C2Xi2+...+CMXiM - Yi ) 2
Условия минимума S можно записать, приравнивая нулю частные производные S
по независимым переменным С0,С1,...СМ :
SC0 = 2 ( C0 + C1[pic]Xi + C2[pic]Xi2+...+CM[pic]XiM - Yi ) = 0 ,
SC1 = 2 ( C0 + C1[pic]Xi + C2[pic]Xi2+...+CM[pic]XiM - yi ) Xi = 0 ,
............................................................................
..................... (3)
SCM = 2 ( C0 + C1[pic]Xi + C2[pic]Xi2+...+CM[pic]XiM - Yi ) XiM = 0 ,
Тогда из (3) можно получить систему нормальных уравнений
C0 [pic] (N+1) + C1[pic] Xi + C2[pic]Xi2 +...+ CM [pic]XiM = [pic]Yi ,
C0[pic]Xi + C1[pic]Xi2 + C2[pic]Xi3 +...+ CM[pic]XiM+1 = [pic]Yi Xi ,
............................................................................
........................... (4)
C0[pic]XiM + C1[pic]XiM+1 + C2[pic]XiM+2 +...+ CM[pic]Xi2M =[pic] Yi XiM .
Для определения коэффициентов Сi и, следовательно, искомой зависимости (2)
необходимо вычислить суммы и решить систему уравнений (4). Матрица системы
(4) называется матрицей Грама и является симметричной и положительно
определенной. Эти полезные свойства используются при ее решении.
| |(N+1) |[pic]Xi |[pic]Xi2 |.|[pic]XiM |[pic]Yi | |
| | | | |.| | | |
| | | | |.| | | |
| |Xi |[pic]Xi2 |[pic]Xi3 |.|[pic]XiM+1|[pic]Yi Xi| |
| | | | |.| | | |
| | | | |.| | | |
| |... |... |... |.|... |... | |
| | | | |.| | | |
| | | | |.| | | |
| |XiM |[pic]XiM+1|[pic]XiM+2|.|[pic]Xi2M |[pic]Yi | |
| | | | |.| |XiM | |
| | | | |.| | | |
Нетрудно видеть, что для формирования расширенной матрицы (4а) достаточно
вычислить только элементы первой строки и двух последних столбцов,
остальные элементы не являются "оригинальными" и заполняются с помощью
циклического присвоения.
Задание
Найти коэффициенты прямой и определить значение функции y{-6.56,-3.77,
-1.84,0.1,2.29,4.31,5.56,8.82,11.33,11.27}, x0=1.3 h=4.1, и определить
интеграл заданной функции.
Программа
¦CLS
¦XC = 10: X0 = 1.3: H = 4.1: N = 10
¦DIM Y(9): DIM X(9)
¦DATA -6.56,-3.77,-1.84,0.1,2.29,4.31,5.86,8.82,11.33,11.27
¦FOR I = 0 TO N - 1
¦X = X0 + H * I:
¦X(I) = X
¦READ Y(I)
¦PRINT X(I), Y(I)
¦NEXT I
¦S1 = 0: S2 = 0: S3 = 0: S4 = 0
¦I = 0
¦10 S1 = S1 + X(I) ^ 2:
¦S2 = S2 + X(I):
¦S3 = S3 + X(I) * Y(I):
¦S4 = S4 + Y(I)
¦I = I + 1
¦IF I