Апроксимація функцій.
З курсу математики відомі 3 способу завдання
функціональних залежностей:
1) аналітичний
2) графічний
3) табличний
Табличний спосіб зазвичай виникає в результаті експерименту.
Недолік табличного задання
функції полягає в тому, що знайдуться значення змінних які невизначені таблицею. Для відшукання таких значень визначають наближається до заданої функцію, званої
аппроксмірующей, а дія заміни апроксимацією.
Апроксимація полягає в тому, що використовуючи наявну інформацію з f (x) можна розглянути іншу функцію φ (ч) близьку в деякому сенсі до f (x), що дозволяє виконати над нею
відповідні операції і отримати оцінку похибки
такої заміни.
φ (х) - апроксимуюча
функція.
Інтерполяція (окремий випадок апроксимації) Якщо для табличної функції y = f (x), що має значення x
0 f (x
0) потрібно побудувати апроксимуючу функцію j (x) збігається у вузлах з x
i c заданої, то
такий спосіб називається
інтерполяцією При
інтерполяції, задана функція f (x) дуже часто апроксимується за допомогою многочлена, що має загальний вигляд
j (x) = p
n (x) = a
n x
n + a
n-1 x
n-1 + ... + a
0 У даному многочлене необхідно знайти коефіцієнти a
n, a
n-1, ... a
0, так як завданням є інтерполювання, то визначення коефіцієнтів необхідно виконати з умови рівності:
P
n (x
i) = y
i i = 0,1, ... n
Для визначення коефіцієнтів застосовують
інтерполяційні многочлени спеціального виду, до них відноситься і поліном Лагранжа L
n (x).
i ¹ j
У точках відмінних від вузлів інтерполяції поліном Лагранжа в загальному випадку не співпадає із заданою функцією.
Завдання
За допомогою інтерполяційного полінома Лагранжа обчислити значення функції 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
Апроксимація функцій. Метод найменших квадратів.
В інженерній діяльності часто виникає необхідність описати у вигляді
функціональної залежності зв'язок між величинами, заданими таблично або у вигляді набору точок з координатами
(x i, y i), i = 0,1,2, ... n, де
n - загальна кількість точок. Як правило, ці табличні дані отримані експериментально і мають похибки. При апроксимації бажано отримати відносно просту функціональну залежність (наприклад, поліном), яка дозволила б "згладити" експериментальні похибки, отримати проміжні та екстраполяційні значення функцій, спочатку не містяться у вихідній табличної інформації.
Графічна інтерпретація апроксимації.
Ця функціональна (аналітична) залежність повинна з достатньою точністю
відповідати початковій табличній залежності. Критерієм точності або достатньо "хорошого" наближення можуть служити декілька умов.
Позначимо через
f i значення, обчислене з функціональної залежності для
x = x i і зіставляється з
y i. Одна з умов узгодження можна записати як
S = PRIVATE (F i-y i) ® min, тобто сума відхилень табличних і функціональних значень для однакових
x = x i повинна бути мінімальною (метод середніх). Відхилення можуть
мати різні знаки, тому достатня точність у ряді випадків не досягається.
Використання критерію
S = PRIVATE | F i-y i | ® min, також не прийнятно, тому що абсолютне значення не має похідної в точці мінімуму.
Враховуючи вищевикладене, використовують критерій
найменших квадратів, тобто визначають таку функціональну залежність, при якій
S = PRIVATE (F i-y i) 2, (1) звертається до мінімум.
У якості функціональної залежності розглянемо многочлен
f (x) = C 0 + C 1 X + C 2 X 2 +...+ C M X M. (2) Формула (1) прийме вигляд
S = PRIVATE (C 0 + C 1 X i + C 2 X i 2 +...+ C M X i M - Y i) 2 Умови мінімуму S можна записати, прирівнюючи нулю приватні похідні S із незалежним змінним
С 0, С 1, ... З М: S C0 = 2 PRIVATE (C 0 + C 1 X i + C 2 X i 2 +...+ C M X i M - Y i) = 0, S C1 = 2 PRIVATE (C 0 + C 1 X i + C 2 X i 2 +...+ C M X i M - y i) X i = 0, .................................................. ............................................... (3)
S CM = 2 PRIVATE (C 0 + C 1 X i + C 2 X i 2 +...+ C M X i M - Y i) X i M = 0, Тоді з (3) можна отримати
систему нормальних рівнянь C 0 (N +1) + C 1 PRIVATE X i + C 2 PRIVATE X i 2 +...+ C M PRIVATE X i M = PRIVATE Y i, C 0 PRIVATE X i + C 1 PRIVATE X i 2 + C 2 PRIVATE X i 3 +...+ C M PRIVATE X i M +1 = PRIVATE Y i X i, .................................................. .................................................. ... (4) C 0 PRIVATE X i M + C 1 PRIVATE X i M +1 + C 2 PRIVATE X i M +2 +...+ C M PRIVATE X i 2M = PRIVATE Y i X i M. Для визначення коефіцієнтів С
i і, отже, шуканої залежності (2) необхідно обчислити суми і вирішити систему рівнянь (4).
Матриця системи (4) називається
матрицею Грама і є симетричною і позитивно визначеною. Ці корисні властивості використовуються при її вирішенні.
PRIVATE
| (N +1)
| X i
| X i 2
| ...
| X i M
| Y i
| |
| X i
| X i 2
| 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, та визначити інтеграл заданої функції.
Програма
| 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