Из курса математики известны 3 способа задания функциональных зависимостей:
1. Аналитический.
2. Графический.
3. Табличный.
Табличный способ обычно возникает в результате эксперимента. Недостаток табличного задания функции заключается в том, что всегда
находятся значения переменных, которые не определены таблицей. Для отыскания таких значений определяют приближающуюся к заданной
функцию, называемой аппроксимирующей, а действие замены аппроксимацией.
Рис. 1
Аппроксимация заключается в том, что, используя имеющуюся информацию по f(x), можно рассмотреть другую функцию f(u) близкую в
некотором смысле к f (x), позволяющую выполнить над ней соответствующие операции и получить оценку погрешность такой замены. Здесь f(u) —
аппроксимирующая функция.
Интерполяция (частный случай аппроксимации)
Если для табличной функции y=f(x), имеющей значение x0=f(x0), требуется построить аппроксимирующую функцию j(x), совпадающую в узлах с xi с
заданной, то такой способ называется интерполяцией. При интерполяции, заданная функция f(x) очень часто аппроксимируется с помощью
многочлена, имеющего общий вид
j (x)=p n (x)=a n x n +a n-1 x n-1 +…+a 0
В данном многочлене необходимо найти коэффициенты an, an-1, …a0, так как задачей является интерполирование, то определение
коэффициентов необходимо выполнить из условия равенства: P n (x i)=y i, где i=0, 1, …n
Для определения коэффициентов применяют интерполяционные многочлены специального вида, к ним относится и полином Лагранжа Ln(x)
i1j
В точках отличных от узлов интерполяции полином Лагранжа в общем случае не совпадает с заданной функцией
Задание
С помощью интерполяционного полинома Лагранжа вычислить значение функции y в точке x c, узлы интерполяции расположены равномерно с
шагом D х = 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
Аппроксимация функцией. Метод наименьших квадратов
Рис. 1
В инженерной деятельности часто возникает необходимость описать в виде функциональной зависимости связь между величинами, заданными
таблично или в виде набора точек с координатами (x i, y i), i=0, 1, 2, ...n, где n — общее количество точек. Как правило, эти табличные данные
получены экспериментально и имеют погрешности. При аппроксимации желательно получить относительно простую функциональную зависимость
(например, полином), которая позволила бы "сгладить" экспериментальные погрешности, получить промежуточные и экстраполяционные значения
функций, изначально не содержащиеся в исходной табличной информации.
Графическая интерпретация аппроксимации
Эта функциональная (аналитическая) зависимость должна с достаточной точностью соответствовать исходной табличной зависимости.
Критерием точности или достаточно "хорошего" приближения могут служить несколько условий. Обозначим через fi значение, вычисленное из
функциональной зависимости для x=xi и сопоставляемое с yi. Одно из условий согласования можно записать как
S = a(f i -y i ), min, ® 0
т. е. сумма отклонений табличных и функциональных значений для одинаковых x=xi должна быть минимальной (метод средних). Отклонения
могут иметь разные знаки, поэтому достаточная точность в ряде случаев не достигается
Использование критерия S = |fi -yi | min, ® 0 также не приемлемо, т. к. абсолютное значение не имеет производной в точке минимума. Учитывая
вышеизложенное, используют критерий наименьших квадратов, т.е. определяют такую функциональную зависимость, при которой S = (f i -y i) 2, (1)
обращается в минимум.
В качестве функциональной зависимости рассмотрим многочлен
f(x)=C0 + C1 X + C2 X2 +...+CM XM (2)
Формула (1) примет вид S = (C0 + C1 Xi + C2 Xi 2 +...+CM Xi M - Yi) 2
Условия минимума S можно записать, приравнивая нулю частные производные S по независимым переменным С0, С1, ...СМ :
S C0 = 2 (C0 + C1 Xi + C2 Xi 2 +...+ CM Xi M - Yi) = 0,
S C1 = 2 (C0 + C1 Xi + C2 Xi 2 +...+ CM Xi M - yi) Xi = 0, (3)
S CM = 2 (C0 + C1 Xi + C2 Xi 2 +...+ C M Xi M - Yi) Xi M = 0,
Тогда из (3) можно получить систему нормальных уравнений
C0 (N+1) + C1 Xi + C2 Xi 2 +...+ CM Xi M = Yi,
C0 Xi + C1 Xi 2 + C2 Xi 3 +...+ CM Xi M+1 = Yi Xi, (4)
C0 Xi M + C1 Xi M+1 + C2 Xi M+2 +...+ CM Xi 2M = Yi Xi M
Для определения коэффициентов Сi и, следовательно, искомой зависимости (2) необходимо вычислить суммы и решить систему уравнений (4).
Матрица системы (4) называется матрицей Грама и является симметричной и положительно определенной. Эти полезные свойства используются
при ее решении
(N+1)
X i
X i 2
...
X i M
Y i
X i
Xi2
X i 3
...
X i M+1
Y i X i
...
...
...
...
...
...
X i M
X i M+1
X i M+2
...
X i 2M
Y i X i M
Нетрудно видеть, что для формирования расширенной матрицы (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 и
определить интеграл заданной функции.
Рис. 3
Программа
¦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 <= N - 1 THEN 10
¦D = S1 * N - S2 ^ 2:
¦D1 = S3 * N - S2 * S4:
¦D0 = S1 * S4 - S2 * S3
¦A1 = D1 / D:
¦A0 = D0 / D
¦Y = A1 * XC + A0
¦PRINT TAB(2); "Коэффициент прямой в точке A0="; A0,
¦PRINT TAB(2); "Коэффициент прямой в точке A1="; A1,
¦PRINT TAB(2); "Значение функции в точке XC Y="; Y
¦FOR X = 10 TO 50 STEP 10
¦Y = A1 * X + AO
¦PRINT X, Y
¦NEXT X
¦FOR I = 1 TO N - 1
¦S = S + Y(I): NEXT I
¦D = H / 2 * (Y(0) + Y(N - 1) + 2 * S)
¦PRINT "Значение интеграла по методу трапеции D="; D
Ответы
Х 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
Коэффициент прямой в точке A0= -6.709182
Коэффициент прямой в точке A1= 5007687
Значение функции в точке XC Y= -1.701495
10 5.007687
20 10.01537
Значение интеграла по методу трапеции D= 166.9725
|