Dawid Kasiński
Grupa T11A
28.11.2011r
Przedmiot: Technika obliczeniowa i symulacja (Labolatoria)
Temat: Temat 6
Zadanie 1. Algorytm interpolacji Newtona dla danych kolejnych pochodnych.
x1=[-3 -2 -1 0 1 2 3]
y1=[0 -1/12 2/3 0 -2/3 1/12 0]
y=y1'
x=x1'
format rat
dey=[y(2:end)-y(1:end-1)]
de2y=[dey(2:end)-dey(1:end-1)]
de3y=[de2y(2:end)-de2y(1:end-1)]
de4y=[de3y(2:end)-de3y(1:end-1)]
de5y=[de4y(2:end)-de4y(1:end-1)]
syms q
yodq=y(1)+q*dey(1)+q*(q-1)*de2y(1)/2+q*(q-1)*(q-2)*de3y(1)/6+q*(q-1)*(q-2)*(q-3)*de4y(1)/24
ysy=expand(yodq)
plot(x1,y1,' rx')
hold on
xc=-3:0.1:3;
yc=subs(ysy,q,xc);
plot(xc,yc)
hold off
Wykres przedstawiajacy rozwiązanie:
Zadanie 2. Algorytm interpolacji Lagrange’a dla danych kolejnych pochodnych.
x=[-4;-3;-2;-1;0;1;2;3;4]
y=[0;0;-1/12;2/3;0;-2/3;1/12;0;0]
for i=1:size(x,1)
xr=x(x~=x(i))
wsp=poly(xr)
mia=polyval(wsp,x(i))
W(i)=poly2sym(wsp,'xs')/mia
end
yodx=W*y
figure(1)
plot(x,y,' rx')
hold on
xc=-4:0.1:4;
yc=subs(yodx,xc);
plot(xc,yc)
hold off