Piotr Oleszczyk 157944.docx

(48 KB) Pobierz

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));

end

% wyznaczenie funkcji na błąd maksymalny

xx=0.25:0.01:1.5;

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

 

Zgłoś jeśli naruszono regulamin