background image

Obliczenia naukowe – Lista 4 
Adrian Kuta 204423 

1  Z

ADANIE

 

1.1  O

PIS PROBLEMU

 

Napisać funkcję obliczającą ilorazy różnicowe. 

1.2  R

OZWIĄZANIE

 

Funkcja napisana na podstawie algorytmu z książki, „Analiza numeryczna” – D. Kincaid, W.Cheney. 

for 𝑖 = 1 to 𝑛 
 

𝑑

𝑖

= 𝑓(𝑖) 

end for 

for 𝑗 = 1 to 𝑛 
 

for 𝑖 = 𝑛 to 𝑗 step -1 

 

 

𝑑

𝑖

=

𝑑

𝑖

−𝑑

𝑖−1

𝑥

𝑖

−𝑥

𝑖−𝑗

 

 

end for 

end for 
return 
𝑑 

2  Z

ADANIE

 

2.1  O

PIS PROBLEMU

 

Napisać funkcję obliczającą wartość wielomianu interpolacyjnego stopnia n w postaci Newtona w punkcie. 

2.2  R

OZWIĄZANIE

 

𝑛𝑡 = 𝑓𝑥(𝑙𝑒𝑛𝑔𝑡ℎ(𝑓)) 
for 𝑖 = 𝑛 − 1 to 1 step -1 
  

𝑛𝑡 = 𝑛𝑡 ∗ (𝑡 − 𝑥[𝑖] + 𝑓𝑥[𝑖]) 

end for 
return
 𝑛𝑡 

3  Z

ADANIE

 

3.1  O

PIS PROBLEMU

 

Napisać funkcję 𝑟𝑦𝑠𝑢𝑗𝑁𝑛𝑓𝑥 która rysuje wielomian interpolacyjny oraz interpolowaną funkcję. 

background image

3.2  R

OZWIĄZANIE

 

W celu rozwiązania zadania wykorzystano funkcje napisane w zadaniach 1 i 2 orazpakiet Winston. 
Pierwszym etapem jest wyliczenie wartości funkcji dla węzłów, następnie oblicza ilorazy różnicowe dla tych węzłów. 
Ostatni etap to naniesienie interpolowanej funkcji i wielomianu na wykres. 

4  Z

ADANIE

 

4.1  O

PIS PROBLEMU

 

Przetestować funkcję 𝑟𝑦𝑠𝑢𝑗𝑁𝑛𝑓𝑥() dla podanych funkcji: 

1.  𝑓(𝑥) = 𝑒

𝑥

, 𝑥 ∈ [0, 1], 𝑛 = 5, 10, 15 

2.  𝑓(𝑥) = 𝑥

2

sin 𝑥, 𝑥 ∈ [−1, 1], 𝑛 = 5, 10, 15 

4.2  W

YNIKI

 

 

𝑒

𝑥

  𝑛 = 5 

 

 

 

 

 

 

 

𝑒

𝑥

, 𝑛 = 10 

   

 

 

   

𝑒

𝑥

, 𝑛 = 15 

 

 

 

 

 

 

 

 

background image

𝑥

2

, 𝑛 = 5 

 

 

 

 

 

 

 

𝑥

2

, 𝑛 = 10 

 

 

 

 

 

 

 

 

 

 

 

   

 

𝑥

2

, 𝑛 = 15 

 

 

 

 

 

 

 

4.3  W

NIOSKI

 

Widoczny jest brak rozbieżności między wielomianem interpolacyjnym oraz funkcją interpolowaną. Wraz z wzrostem 
stopnia wielomianu, przybliżenie rośnie 

5  Z

ADANIE

 

5.1  O

PIS PROBLEMU

 

Przetestować funkcję 𝑟𝑦𝑠𝑢𝑗𝑁𝑛𝑓𝑥() dla podanych funkcji: 

1.  𝑓(𝑥) = |𝑥|, 𝑥 ∈ [−1, 1], 𝑛 = 5, 10, 15 
2.  𝑓(𝑥) =

1

1+𝑥

2

, 𝑥 ∈ [−5, 5], 𝑛 = 5, 10, 15 

5.2  W

YNIKI

 

 

 

background image

|𝑥|, 𝑛 = 5 

 

 

 

 

 

 

|𝑥|, 𝑛 = 10 

 

  

|𝑥|, 𝑛 = 15 

 

 

 

 

 

 

 

 

 

 

 

background image

1

1+𝑥

2

, 𝑛 = 5 

 

 

 

 

 

 

1

1+𝑥

2

, 𝑛 = 10 

 

 

 

  

1

1+𝑥

2

, 𝑛 = 15 

 

5.3  W

NIOSKI

 

Wykresy funkcji i wielomianów otrzymane w tym zadaniu pokrywają się w mniejszym stopniu niż miało to miejsce 
poprzednim zadaniu, największą różnicę można zauważyć na krańcach przedziałów. Różnica między wykresami wzrasta 
wraz ze stopniem wielomianu.