Aleksandra Hupka.docx

(56 KB) Pobierz

 

1. Treść zadania

„Interpolacje” – Dla funkcji f(x)=1/(3x+1)2 w punktach {0.25, 0.75, 1.5} wyprowadź ręcznie postać wielomianu interpolacyjnego metodą wielomianów Lagrange’a. Wyznacz następnie postać wielomianu interpolacyjnego używając stosownego skryptu Octava (Matlaba). Do sprawozdania dołączyć należy zastosowany kod programu. Następnie sprawdź i skomentuj we wnioskach błąd lokalny dla x = 1.0. Wyznacz postać funkcji określającej błąd maksymalny Errormax(x) i wykreśl ją używając komendy plot. Wykreśl podane punkty {xi,f(xi)} przebieg funkcji f(x) oraz przebieg wyznaczonego wielomianu interpolacyjnego używając komendy plot. Wydruki wykresów (wraz z kodem) dołącz do sprawozdania.

 

2. Wyznaczenie węzłów interpolacyjnych

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Wyznaczenie wielomianu interpolacyjnego metodą Lagrange’a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Px=0.3265*x-x2(x-x3)x1-x2(x1-x3)+0.0947*x-x1(x-x3)x2-x1(x2-x3)+0.0331*x-x1(x-x2)x3-x1(x3-x1)→Px=0.3052x2-0.7690x+0.4997

 

 

 

4. Obliczenie błędu lokalnego

Błąd lokalny

5. Wyznaczenie funkcji określającej błąd maksymalny

gdzie :

n +1 - liczba punktów

pierwsza pochodna

druga pochodna

trzecia pochodna

n + 1 = 3

Funkcja ma maksymalną wartość dla ξ=0.25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6. Zastosowany kod programu Matlab

>>  x=[0.25 0.75 1.5];

y=1./((3*x+1).^2);

[C,L]=lagran(x,y)

xpom=linspace(x(1),x(3));

ypom=polyval(C,xpom);

yy=1./((3*xpom+1).^2);

subplot(2,1,1)

hh1=plot(x,y,'rx',xpom,ypom,'k-',xpom,yy,'b-');

legend('punkty','wielomian','funkcja')

    Errormax=abs((1/6)*((-648/((3*0.25+1)^5)))*(xpom-x(1)).*(xpom-x(2)).*(xpom-x(3)));

   subplot(2,1,2)

hh2=plot(xpom,Errormax,'k-');

legend('Error max');

grid on

 

 

C =

 

    0.3052   -0.7690    0.4997

 

 

L =

 

    1.6000   -3.6000    1.8000

   -2.6667    4.6667   -1.0000

    1.0667   -1.0667    0.2000

7. Wnioski

Jak widać na załączonym niżej wykresie błąd lokalny jest duży i w miarę wzrostu wartości x błąd ten rośnie. Wielomian interpolacyjny znacznie odbiega od wykresu funkcji f(x), może to być spowodowane zbyt niskim stopniem wielomianu ponieważ im wyższy stopień tym wielomian interpolacyjny bardziej zbiega się z zadaną funkcją. Natomiast błąd maksymalny jest bardzo niewielki jego wartości na zadanym przedziale x nie przekraczają 3*10-3

 

8 Wykresy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Laboratorium
Metody Numeryczne

 

 

 






 

Prowadzący: mgr inż. A Kosior

Imię Nazwisko:

 

Aleksandra Hupka

157929

 

Wydział/kierunek:

Mechaniczno-Energetyczny/ Energetyka

 

Temat: Interpolacje metodą Lagrange’a

Nr ćwiczenia:

Ocena:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Zgłoś jeśli naruszono regulamin