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