Piotr Oleszczyk 157944
Metody numeryczne
Temat: Interpolacje
Prowadzący: dr inż. P. Regucki
1. Wyznaczenie poszczególnych wartości funkcji dla zadanych x
2. Wyznaczenie wielomianu interpolacyjnego metodą Lagrange'a
P(x)=0.305x2-0.769x+0.5
2. Obliczenie błędu lokalnego
Błąd lokalny
3. 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
4. Obliczenia w matlabie:
>> 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
5. 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ą
8) „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.
Student: Oleszczyk Piotr SR TN 9.15
bzyku151515