Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4.1. Interpolare unidimensională 109<br />
y = [0.39, 1.1, 0.61, -0.02, -0.33, 0.65, ...<br />
1.13, 1.46, 1.07, 1.2, 0.3];<br />
plot(x,y,’o’); hold on<br />
xi=linspace(min(x),max(x),100);<br />
ys=interp1(x,y,xi,’spline’);<br />
yc=interp1(x,y,xi,’cubic’);<br />
h=plot(xi,ys,’-’,xi,yc,’-.’);<br />
legend(h,’spline’,’cubic’,4)<br />
axis([-1.1,1.6,-0.8,1.6])<br />
Figura 4.2 dă graficul astfel obt¸inut.<br />
1.5<br />
1<br />
0.5<br />
0<br />
−0.5<br />
spline<br />
cubic<br />
−1 −0.5 0 0.5 1 1.5<br />
Figura 4.2: Interpolare cubică spline s¸i Hermite pe port¸iuni<br />
Interpolarea spline s¸i Hermite cubică pe port¸iuni se pot realiza s¸i direct, apelând<br />
funct¸ia spline s¸i respectiv pchip..<br />
Dându-se vectorii x s¸i y, comanda yy = spline(x,y,xx) returnează în<br />
vectorul yy valorile spline-ului în punctele din xx. Dacă y este o matrice, se consideră<br />
că avem de-a face cu valori vectoriale s¸i interpolarea se face după coloanele lui<br />
y; dimensiunea lui yy este length(xx) pe size(y,2). Funct¸ia spline calculează<br />
interpolantul spline de tip deBoor. Dacă y cont¸ine cu două valori mai multe<br />
decât x, se calculează interpolantul spline complet, iar prima s¸i ultima valoare din y<br />
se consideră a fi derivatele în capete. (Pentru terminologia privind tipurile de spline<br />
vezi sect¸iunea ??).<br />
Exemplul pe care îl dăm în continuare ia s¸ase puncte de pe graficul luiy = sin(x),<br />
calculează s¸i reprezintă grafic spline-ul deBoor s¸i cel complet (vezi figura 4.3).