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
LaboratoriumMetody 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:
bzyku151515