20.07.2013 Views

Software matematic

Software matematic

Software matematic

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

108 Interpolare în MATLAB<br />

yn=interp1(x,y,xi,’nearest’);<br />

yl=interp1(x,y,xi,’linear’);<br />

ys=interp1(x,y,xi,’spline’);<br />

%yc=interp1(x,y,xi,’pchip’);<br />

plot(xi,yi,’:’,x,y,’o’,’MarkerSize’,12); hold on<br />

plot(xi,yl,’--’,xi,ys,’-’)<br />

stairs(xi,yn,’-.’)<br />

set(gca,’XTick’,x);<br />

set(gca,’XTickLabel’,’-1|-3/4|-1/3|0|1/2|1’)<br />

set(gca,’XGrid’,’on’)<br />

axis([-1.1, 1.1, -1.1, 2.1])<br />

legend(’f’,’data’,’linear’, ’spline’, ’nearest’,4)<br />

hold off<br />

Exemplul alege s¸ase puncte de pe graficul lui f(x) = x + sinπx 2 s¸i calculează<br />

interpolant¸ii nearest, linear s¸i spline. Nu am inclus în acest exemplu cubic<br />

deoarece graficul obt¸inut este foarte apropiat de cel obt¸inut cu spline s¸i s-ar fi<br />

încărcat figura. Graficul apare în figura 4.1.<br />

2<br />

1.5<br />

1<br />

0.5<br />

0<br />

−0.5<br />

−1<br />

f<br />

data<br />

linear<br />

spline<br />

nearest<br />

−1 −3/4 −1/3 0 1/2 1<br />

Figura 4.1: Exemplu de interpolare cu interp1<br />

Interpolarea spline este cea mai netedă, dar interpolarea Hermite pe port¸iuni<br />

păstrează alura. Vom încerca să ilustram diferent¸a dintre interpolarea spline s¸i interpolarea<br />

Hermite pe port¸iuni prin exemplul următor (expsli cub.m).<br />

x =[-0.99, -0.76, -0.48, -0.18, 0.07, 0.2, ...<br />

0.46, 0.7, 0.84, 1.09, 1.45];

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!