Metody numeryczne
Instytut Sterowania i Systemów Informatycznych
Wydział Elektrotechniki, Informatyki i Telekomunikacji
Uniwersytet Zielonogórski
Elektrotechnika stacjonarne-dzienne pierwszego stopnia z tyt. inżyniera
Informatyka stacjonarne-dzienne drugiego stopnia z tyt. magistra inżyniera
Aproksymacja
Laboratorium, prowadzący: mgr inż. Błażej Cichy
Rok akademicki 2010/2011
1
Nieco teorii
1.1
Definicje norm
Istnieje wiele definicji norm dla błędów. Oto trzy najszerzej stosowane:
Błąd maksymalny: E
∞
(f ) = max
1≤k≤N
{|f (x
k
) − y
k
|}
(1)
Błąd średni: E
1
(f ) =
1
N
N
X
k=1
|f (x
k
) − y
k
|
(2)
Błąd średniokwadratowy: E
2
(f ) =
1
N
N
X
k=1
|f (x
k
) − y
k
|
2
(3)
1.2
Wielomian aproksymacyjny stopnia pierwszego
Gdy mamy n węzłów szukamy funkcji liniowej o następującej postaci:
y = ax + b
(4)
Współczynniki a i b można wyznaczyć rozwiązując następujący układ dwóch równań (tzw.
układ normalny):
n
X
k=1
x
2
k
!
a +
n
X
k=1
x
k
!
b =
n
X
k=1
x
k
y
k
n
X
k=1
x
k
!
a + nb =
n
X
k=1
y
k
(5)
1.3
Aproksymacja wielomianem dowolnego stopnia
Uogólniony wzór na układ normalny z którego można wyznaczyć współczynniki wielo-
mianu aproksymacyjnego dowolnego stopnia dla zbioru (x
j
, y
j
) o n elementach prezentuje
1
Aproksymacja
2
się następująco:
m
X
i=0
a
i
n
X
j=0
x
i+k
j
!
=
n
X
j=0
y
j
x
k
j
,
k = 0, 1, 2, ..., m
(6)
1.4
Aproksymacja wielomianem tygonometrycznym
Poniższe zależności są określone dla parzystej liczby węzłów. Wielomian interpolacyjny
rzędu m dla n węzłów jest dany następującym wzorem:
T
m
(x) =
a
0
2
+
m
X
j=1
(a
j
cos(jx) + b
j
sin(jx))
(7)
Współczynniki a
j
oraz b
j
(zwane także współczynnikami Fouriera) wyznaczamy według
następujących wzorów:
a
j
=
2
n
n
X
k=1
f (x
k
) cos(jx
k
), j = 0, 1, 2, ..., m
b
j
=
2
n
n
X
k=1
f (x
k
) sin(jx
k
), j = 1, 2, ..., m
(8)
1.5
Ortogonalny wielomian aproksymacyjny – wielomiany Gra-
ma
Wielomiany tego typu oferują najlepszy w sensie aproksymacji średnikwadratowej wie-
lomian przybliżający daną funkcję. Wielomian aproksymacyjny dla m równo odległych
węzłów ma następującą postać:
P
m
(x) =
m
X
k=0
c
k
s
k
ˆ
F
(n)
k
x − x
0
h
(9)
Oznaczenie ˆ
F określa wielomiany Grama:
ˆ
F
(¯
n)
k
(q) =
k
X
s=0
(−1)
s
k
s
k + s
s
q(q − 1) . . . (q − s + 1)
n(n − 1) . . . (n − ¯
n + 1)
(10)
Działają one na n+1 węzłach a zmienna k przyjmuje następujące wartości: k = 0, 1, 2, ..., m
Współczynniki s
k
i c
k
określamy następująco:
c
k
=
n
X
i=0
y
i
ˆ
F
(n)
k
(x
i
),
s
k
=
n
X
q=0
[ ˆ
F
(n)
k
(q)]
2
(11)
1.6
Aproksymacja wielomianem Chebyszewa
Wielomian aproksymujący Czebyszewa stopnia n na przedziale h−1, 1i jest określony
jako następująca suma:
P
N
(x) =
n
X
j=0
c
j
T
j
(x)
(12)
Aproksymacja
3
Oznaczeniu T
j
(x) oznacza odpowiedni wielomian Chebyszewa (definicja znajduje się w
wykładzie dot. interpolacji). Współczynniki c
j
są określone w następujący sposób dla
wyznaczenia wartości c
0
korzystamy z poniżej relacji :
c
0
=
1
n + 1
n
X
k=0
f (x
k
)
(13)
Pozostałe wartości współczynników wyznaczamy w następujący sposób:
c
j
=
2
n + 1
n
X
k=0
f (x
k
) cos
jπ(2k + 1)
2n + 2
j = 1, 2, 3, . . . , n
(14)
Naturalnie aproksymacji dokonuje się na ściśle określonych węzłach wyznaczanych według
wzoru:
x
k
= cos
π(2k + 1)
8
(15)
1.7
Dopasowanie funkcji y = Ax
M
Podobnie jak w poprzednim przypadku dysponujemy zbiorem N par {x
i
, y
i
}. Dla
krzywej aproksymacyjnej w postaci:
y = Ax
M
(16)
Dla arbitralnie wybranej wartości M współczynnik A wyznaczamy według następującego
wzoru:
A =
P
N
k=1
x
M
k
y
k
P
N
k=1
x
2M
k
(17)
1.8
Dopasowanie funkcji y = Ce
Ax
Dopasowanie danych do następującej funkcji wykładniczej:
y = Ce
Ax
(18)
Wymaga pewnym elementarnych przekształceń. W pierwszej kolejności należy z logaryt-
mować obydwie strony:
ln(y) = Ax + ln(C)
Po wprowadzenie dodatkowych oznaczeń: Y = ln(y), X = x, B = ln(C). Otrzymamy
liniową relację pomiędzy zmiennymi X i Y :
Y = AX + B
(19)
Współczynniki A, B wyznaczamy za pomocą układu (??). Natomiast współczynnik C
obliczamy następująco: C = e
B
.
Aproksymacja
4
2
Zadania
1. Wyznaczyć wielomian aproksymacyjny pierwszego stopnia (funkcja liniowa) dla na-
stępujących danych:
x
i
−1 0 1 2 3 4 5
6
y
i
10
9 7 5 4 3 0 −1
Narysować powyższe punkty oraz wykres wielomianu aproksymacyjnego. Wyzna-
czyć błędy dla otrzymanej funkcji.
2. Znaleźć wielomian aproksymujący stopnia drugiego dla następujących danych:
x
i
0
0.2
0.4
0.6
0.8
1.0
y
i
1.026 0.768 0.648 0.401 0.272 0.193
3. Dokonać interpolacji wielomianem trygonometrycznym następujące dane:
x
i
π
3
π
2
2π
3
π
4π
3
3π
2
y
i
−1 1 −1 1 −1
1
Dla jakiego rzędu n = 1, 2, 3, 4 otrzymamy najlepsze przybliżenie.
4. Wyznaczyć wielomian aproksymacyjny stopnia drugiego dla następujących danych:
x
i
1
1.5
2
2.5
3
y
i
3 4.75 7 9.75 13
Następnie wyznaczyć ortogonalny wielomian aproksymacyjny stopnia drugiego z
wykorzystaniem wielomianów Grama. Porównać obydwa otrzymane wielomiany.
5. W tabeli zostały zebrane dane z pewnego eksperymentu:
Czas w [s] Odlego w [m]
0.200
0.1960
0.400
0.7850
0.600
1.7665
0.800
3.1405
1.000
4.9075
Okazuje się, że dane z tabeli są opisane za pomocą następującej relacji: d =
1
2
gt
2
,
gdzie d jest odległością w metrach a t to czas mierzony w sekundach. Wyznaczyć
wartość przyspieszenia ziemskiego g.
6. Wyznaczyć krzywą typu e
x
dla następujących danych.
x
i
0
1
2
3
4
y
i
1.5 2.5 3.5 5.0 7.5
7. Wyznaczyć wielomian aproksymujący stopnia co najwyżej drugiego dla następującej
funkcji f (x) = sin(x) na przedziale h0, π/2i.
8. Znaleźć postać wielomianu Czebyszewa dla funkcji e
x
na przedziale h−1, 1i. Zasto-
sować cztery węzły.
Aproksymacja
5
Literatura
[1] Bj¨
arck Ake i Dahlquist Germund. Metody numeryczne. PWN, Warszawa, 1987.
[2] Jerzy Brzózka i Lech Dorobczyński.
Programowanie w MATLAB.
Warszawa,
Wydanie I, 1998.
[3] Zenon Fortuna, Bohdan Macukow i Janusz Wąsowski. Metody numeryczne. WNT,
Warszawa, 1995.
[4] Jerzy Klamka i in. Metody numeryczne. Politechnika Śląska, Gliwice, 1998.
[5] David Kincaid i Ward Cheney. Analiza numeryczna. WNT, Warszawa, 2006.
[6] Anna Kamińska i Beata Pańczyk. Matlab. Ćwiczenia z . . . , Przykłady i zadania.
Warszawa, Wydanie I, 2002.
[7] Wanat Kazimierz. Algorytmy numeryczne. Helion, Gliwice, 1994.
[8] Bogumiła Mrozek i Zbigniew Mrozek. MATLAB i Simulink. Poradnik użytkownika.
Wydanie II, 2004.
[9] Jurij Povstenko.
Wprowadzenie do metod numerycznych.
Akademicka Oficyna
Wydawnicza EXIT, Warszawa, Wydanie drugie poprawione i uzupełnione, 2005.
[10] Rudra Pratap. MATLAB 7 dla naukowców i inżynierów. PWN, 2007.
[11] Wiesława Regel. Wykresy i obiekty graficzne w MATLAB. Warszawa, Wydanie I,
2003.
[12] Marcin Stachurski. Metody numeryczne w programie Matlab. Warszawa, Wydanie I,
2003.