Aproksymacja
Zadanie aproksymacji polega na przybliżeniu danej funkcji funkcją „prostszą”. Potrzeba taka
może pojawić się na przykład, kiedy mamy dane wyniki pomiaru eksperymentalnego pewnej
funkcji f opisującej badane przez nas zjawisko fizyczne. Na ogół znamy charakter takiej
funkcji, więc możemy określić pewną klasę funkcji (np. wielomiany), którymi możemy ją
przybliżyć. Zatem mamy dane wyniki pomiaru funkcji f(x
i
) w skończonej liczbie punktów x
i
,
i=1,2,…,N. W tym przypadku będziemy szukać pewnej funkcji h(x) takiej, by wartość
)
(
)
(
x
h
x
f
była jak najmniejsza [1].
Aproksymacja w przeciwieństwie do interpolacji nie wymaga, by wartości funkcji
aproksymacyjnej dokładnie odpowiadały danym wartościom funkcji. Jest to szczególnie
ważne w przypadku, kiedy aproksymujemy wartości zmierzone eksperymentalnie, a więc
obarczone pewnym błędem pomiaru. Żądanie wtedy, by wartości funkcji aproksymacyjnej
były dokładnie takie same jak dane eksperymentalne nie ma sensu. Ponadto interpolacja przy
dużej liczbie węzłów prowadzi do uzyskania wielomianu wysokiego rzędu, co jest dość
kłopotliwe.
Aproksymacja średniokwadratowa
Dane są wartości pewnej funkcji y=f(x), która na zbiorze X punktów x
0
, x
1
,…,x
n
przyjmuje
wartości y
0
,y
1
,…,y
n
. Wartości te sa obarczone pewnym błędem pomiarowym. Zadaniem
aproksymacji średniokwadratowej jest wyznaczenie funkcji F(x), takiej by wyrażenie [2]:
n
i
i
i
i
x
f
x
F
x
w
x
f
x
F
0
2
)
(
)
(
)
(
)
(
)
(
, gdzie w(x
i
)≥0 dla i=0,1,…,n. Zakładamy, że
funkcja F(x) ma gładki przebieg, co umożliwi zniwelowanie zakłóceń danych błędami
pomiaru. Przyjmijmy układ funkcji bazowych w postaci φ
j
(x), j=0,1,…,m. Poszukujemy
wielomianu w postaci:
m
i
i
i
x
a
x
F
0
)
(
)
(
, gdzie współczynniki a
i
są określone tak, by
funkcja F(x) była jak najlepszym przybliżeniem funkcji f(x).
Oznaczmy więc:
n
j
m
i
i
i
j
j
m
x
a
x
f
x
w
a
a
a
H
0
2
0
1
0
)
(
)
(
)
(
)
,...,
,
(
.
Nasze zadanie polega więc na znalezieniu minimum funkcji H. W tym celu obliczmy
pochodne cząstkowe (warunek na ekstremum funkcji):
n
j
j
k
m
i
j
i
i
j
j
k
x
x
a
x
f
x
w
a
H
0
0
0
)
(
)
(
)
(
)
(
2
, k=0,1,…,m.
Rozwiązanie tego układu daje nam minimum funkcji H, a więc rozwiązanie zadania
aproksymacji [2].
Jako układ bazowy funkcji możemy przyjąć układ wielomianów:
i
i
x
x
)
(
, i=0,1,…,m.
Mówimy wtedy o aproksymacji średniokwadratowej wielomianami [2]. Dla takiej postaci
bazy układ równań przyjmuje postać:
n
j
k
j
m
i
i
j
i
j
x
x
a
x
f
0
0
0
)
(
dla k=0,1,…,m.
Zmieniając kolejność sumowania możemy zapisać układ równań w postaci:
m
i
k
ik
i
g
a
0
, dla k=0,1,…,m,
(1)
gdzie:
n
j
k
i
j
ik
x
g
0
,
(2)
n
j
k
j
j
k
x
x
f
0
)
(
.
(3)
Przykład:
Mamy dane wyniki pomiarów:
x
1
3
4
6
8
9
11
14
y
1
2
4
4
5
7
8
9
Znajdź zależność między x i y w postaci ax+by=1.
Rozwiązanie:
Szukamy więc zależności w postaci: y= - ax/b + 1/b.
Wielomian aproksymacyjny jest dany równaniem: y=a
1
x+a
0
, gdzie a
0
=1/b, a
1
=-a/b. Baza
przestrzeni to wielomiany: x
0
, x
1
. Korzystając ze wzorów (1)-(3) możemy obliczyć:
8
0
0
00
n
j
j
n
x
g
56
0
0
1
10
n
j
n
j
j
j
x
x
g
56
0
01
n
j
j
x
g
524
0
2
11
n
j
j
x
g
40
0
0
n
j
j
y
364
0
1
n
j
j
j
x
y
Układ równań jest w postaci:
a
0
g
00
+a
1
g
10
=ρ
0
a
0
g
01
+a
1
g
11
=ρ
1
.
Metodą wyznaczników znajdujemy rozwiązanie: a
0
=6/11, a
1
=7/11. Zatem szukana prosta jest
opisana wzorem: ax+by=1, gdzie b=1/a
0
, a=- a
1
b, więc szukaną prostą można zapisać jako:
y = - (a/b)x+(1/b).
Metoda aproksymacji średniokwadratowej przy aproksymacji wielomianami wyższych
rzędów prowadzi do układu równań źle uwarunkowanego, co oznacza, że małe zaburzenia w
danych wejściowych przekładają się na duże błędy wyniku. Aby uniknąć tego problemu
stosuje się bazę wielomianów ortonormalnych. Szczegółowy opis takiej aproksymacji można
znaleźć w [2; 1].
1. Jankowscy, Janina i Michał. Przegląd Metod i Algorytmów Numerycznych, cz. 1.
Warszawa : Wadawnictwa Naukowo-Techniczne, 1981. ISBN 83-204-0226-3.
2. Fortuna Z., Macukow B., Wąsowski J. Metody Numeryczne. Warszawa : Wydawnictwa
Naukowo-Techniczne, 1993. ISBN 83-204-2772-X.