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
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.75
4. Obliczenia w matlabie:
n=0;
for x=[0.25 0.75 1.5], n=n+1;
y(n)=1/((3*x+1)^2);
end
%obliczenie wartości funkcji dla zadanych x
x=[0.25 0.75 1.5];
Px=polyfit(x,y,2);
% stworzenie wielomianu interpolacyjnego metodą Lagrange'a
xx=0.25:0.01:1.5;
%Podział odcinka x na 100 równych podprzedziałów
yPx=polyval(Px,xx);
%wyznaczenie miejsc przecięcia wielomianu z funkcją
hold on
plot(x,y,'ro')
plot(xx,yPx,'g-')
plot(x,y,'b-')
w=0;
for xx=[0.25:0.01:1.5], w=w+1;
Errormax(w)=abs((1/6)*((-648/((3*0.75+1)^5)))*(xx-0.25)*(xx-0.75)*(xx-1.5));
% wyznaczenie funkcji na błąd maksymalny
plot(xx,Errormax,'k-')
ylabel('y')
xlabel('x')
grid on
title('interpolacja')
opis='o punkty';
opis1='b- funkcja f(x)'
opis2='g- wielomian'
opis3='k- błąd maksymalny'
text(1.1,0.32,opis)
text(1.1,0.3,opis1)
text(1.1,0.28,opis2)
text(1.1,0.26,opis3)
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