Sprawozdanie Z Metod Numerycznych

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Metody numeryczne

Sprawozdanie
lista 4.
Pawe Gambu,
194260,
Informatyka III rok,
grupa: roda, godz. 7:30
13 grudnia 2013
Spis treci
1 Zadanie 1. 2
1.1 Przedstawienie problemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Rozwizanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Wyniki oraz interpretacja, wnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Zadanie 2. 2
2.1 Przedstawienie problemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Rozwizanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3 Wyniki oraz interpretacja, wnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3 Zadanie 3. 2
3.1 Przedstawienie problemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2 Rozwizanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.3 Wyniki oraz interpretacja, wnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4 Zadanie 4. 3
4.1 Przedstawienie problemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4.2 Rozwizanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.3 Wyniki oraz interpretacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.4 Wnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5 Zadanie 5. 7
5.1 Przedstawienie problemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.2 Rozwizanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.3 Wyniki oraz interpretacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.4 Wnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1
1 Zadanie 1.
1.1 Przedstawienie problemu
Zadaniem byo napisanie funkcji obliczajcej ilorazy rnicowe.
1.2 Rozwizanie
Zosta napisany program dla Octavea realizujcy nastpujcy algorytm:
Input: x-wektor zawierajcy wzy x(1) = x
0
, ..., x(n + 1) = x
n
,
f-wektor zawierajcy wartoci interpolowanej funkcji
f(1) = f(x
0
), ..., f(n + 1) = f(x
n
).
Output: fx-wektor zawierajcy obliczone ilorazy rnicowe
fx(1) = f(x
0
), ..., f(n + 1) = f(x
n
).
Algorytm:
len length(f);
fx = copy(f);
for i 1 to len do
fx(i) f(1);
for j 1 to len i do
f(j) (f(j + 1) f(j))/(x(i + j) x(j));
end
end
return fx;
1.3 Wyniki oraz interpretacja, wnioski
Rozwizanie zostao przetestowane skryptem testujcym. Wyniki testu zostay przedstawione w
opracowaniu zada czwartego i pitego.
2 Zadanie 2.
2.1 Przedstawienie problemu
Zadaniem byo napisanie funkcji obliczajcej warto wielomianu interpolacyjnego stopnia n w
postaci Newtona N
n
(x) w punkcie x = t za pomoc uoglnionego algorytmu Hornera.
2.2 Rozwizanie
Zosta napisany program dla Octavea realizujcy nastpujcy algorytm:
2.3 Wyniki oraz interpretacja, wnioski
Rozwizanie zostao przetestowane skryptem testujcym. Wyniki testu zostay przedstawione w
opracowaniu zada czwartego i pitego.
3 Zadanie 3.
3.1 Przedstawienie problemu
Zadaniem byo napisanie funkcji interpolujcej zadan funkcj f(x) w przedziale [a, b] za pomoc
wielomianu interpolacyjnego stopnia n w postaci Newtona. Nastpnie funkcja powinna rysowa
2
Input: x - wektor dugoci n + 1 zawierajcy wzy x
0
, ..., x
1
: x(1) = x
0
, ..., x(n + 1) = x
n
.
fx - wektor dugoci n + 1 zawierajcy ilorazy rnicowe
fx(1) = f[x
0
], ..., fx(n + 1) = f(x
n
)
t - punkt, w ktrym naley obliczy warto wielomianu.
Output: nt - warto wielomianu w punkcie t.
Algorytm:
len length(fx);
result fx;
for i = 1 to len 1 do
result(len i) = fx(len i) + (t x(len i)) result(len i + 1);
end
return result(1);
wielomian interpolacyjny i interpolowan funkcj.
3.2 Rozwizanie
Zosta napisany program dla Octavea realizujcy nastpujcy algorytm:
Input: f - nazwa m-pliku z funkcj,
a, b - przedzia interpolacji, n - stopie wielomianu interpolacyjnego.
Output: Funkcja rysuje wykres funkcji interpolowanej i interpolujcej.
Algorytm:
dokladnoscWykresu 5//parametr-im wikszy, tym wiksza dokadno;
odleglosc (b a)/n;
wezly 0 : 1 : n;
wezly wezly odleglosc + a;
wartosciInterpolowanej f(wezly)
ilorazy ilorazyRoznicowe(wezly, wartosciInterpolowanej);
args a : (odleglosc/dokladnoscWykresu) : b;
for i 1 to length(args) do
interpolujacaWartosci(i) warNewton(wezly, ilorazy, args(i));
end
rysujWykres(args, f);
rysujWykres(args, interpolujacaWartosci);
3.3 Wyniki oraz interpretacja, wnioski
Rozwizanie zostao przetestowane skryptem testujcym. Wyniki testu zostay przedstawione w
opracowaniu zada czwartego i pitego.
4 Zadanie 4.
4.1 Przedstawienie problemu
Zadanie polegao na przetestowaniu funkcji rysujNnfx(f,a,b,n) na nastpujcych przykadach:
e
x
, [0, 1], n = 5, 10, 15,
x
2
sin x, [1, 1], n = 5, 10, 15.
3
4.2 Rozwizanie
Dla poszczeglnych przykadw zostay wykorzystane skrypty z poprzednich zada.
4.3 Wyniki oraz interpretacja
Poniej zostay przedstawione wykresy dla wykonanych oblicze:
dla e
x
n = 5
n = 10
4
n = 15
dla x
2
sin x
n = 5
n = 10
5
n = 15
Odchylenie wielomianu interpolacyjnego od funkcji interpolowanej liczony jest wg wzoru:
f(x) p(x) =
1
(n + 1)!
f
(n+1)
(
x
)
n

i=0
(x x
i
)
Wyniki maksymalnego odchylenia przedstawione w tabeli:
dla n = 5 n = 10 n = 15
f(x) = e
x e
6!
3.78 10
3 e
11!
6.81 10
8 e
6!
1.3 10
13
f(x) = x
2
sin x
2
6
42
6!
3.73
2
11
110
11!
5.64 10
3 2
16
273
16!
8.55 10
7
Dla zadanych funkcji funkcja interpolujca dobrze przyblia wartoci funkcji interpolowanej. W
6
pierwszym przypadku ju dla wielomianu dziesitego stopnia oszacowanie daje dokadno maszy-
now. Dla drugiej funkcji dopiero dla n = 15. Eksperymenty jednak pokazuj, e dokadno jest
wiksza od oszacowania (ze wzgldu na grube szacowanie).
4.4 Wnioski
Funkcje s do dobrze przybliane interpolacj na zadanych przedziaach.
5 Zadanie 5.
5.1 Przedstawienie problemu
Zadanie polegao na przetestowaniu funkcji rysujNnfx(f,a,b,n) na nastpujcych przykadach:
|x|, [1, 1], n = 5, 10, 15,

1
1+x
2
, [5, 5], n = 5, 10, 15.
5.2 Rozwizanie
Dla poszczeglnych przykadw zostay wykorzystane skrypty z poprzednich zada.
5.3 Wyniki oraz interpretacja
dla |x|
n = 5
n = 10
7
n = 15
dla
1
1+x
2
n = 5
8
n = 10
n = 15
9
Odchylenie wielomianu interpolacyjnego od funkcji interpolowanej liczony jest wg wzoru:
f(x) p(x) =
1
(n + 1)!
f
(n+1)
(
x
)
n

i=0
(x x
i
)
Wyniki maksymalnego odchylenia przedstawione w tabeli:
dla n = 5 n = 10 n = 15
f(x) = |x|
f(x) =
1
1+x
2
10
6
101
6!
1.4 10
5 10
11
3.710
4
11!
9.3 10
8 10
16
3.6310
7
16!
1.73 10
10
Dla |x| nie obliczono bdu ze wzgldu na to, e funkcja nie jest rniczkowalna na caym badanym
przedziale.
5.4 Wnioski
Mimo, e pewnych miejscach interpolacja dobrze przyblia funkcj (i dla tych miejsc dokadno
wzrasta wraz ze zwikszeniem liczby wzw interpolacji), bd wraz ze zwikszaniem stopnia wielo-
mianu ronie, co jest widoczne zwaszcza w okolicach kocw przedziau (tzw. zjawisko Rungego).
10

You might also like