You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
112 Interpolare în MATLAB<br />
1.5<br />
1<br />
0.5<br />
0<br />
−0.5<br />
−1<br />
data<br />
pchip<br />
spline<br />
−1.5<br />
−3 −2 −1 0 1 2 3<br />
Figura 4.4: Exemplu de utilizare pchip s¸i spline<br />
ZI = interp2(x,y,z,XI,YI,metoda)<br />
Aici vectorii x s¸i y cont¸in coordonatele nodurilor de interpolare, z cont¸ine valorile<br />
funct¸iei în noduri, iar XI s¸i YI sunt matrice ce cont¸in coordonatele punctelor în care<br />
dorim să facem evaluarea. ZI cont¸ine valorile interpolantului în punctele XI, YI.<br />
Parametrul metoda poate avea valoarea:<br />
• ’linear’ – interpolare bilineară (implicită);<br />
• ’cubic’ – interpolare bicubică;<br />
• ’nearest’ – interpolare bazată pe vecinul cel mai apropiat;<br />
• ’spline’ – interpolare spline.<br />
Toate metodele de interpolare cer ca x s¸i y să fie monotone, s¸i să aibă formatul ca<br />
s¸i cum ar fi produse de meshgrid. Dacă valorile date în x, y, XI s¸i YI nu sunt<br />
echidistante, ele sunt transformate într-un domeniu echidistant înainte de interpolare.<br />
Pentru eficient¸ă, dacă x s¸i y sunt deja echidistante s¸i monotone, metoda se poate da<br />
într-una din formele ’*linear’, ’*cubic’, ’*spline’, sau ’*nearest’.<br />
Dăm un exemplu care încearcă să interpoleze funct¸ia peaks pe o grilă de7×7.<br />
Generăm grila, calculăm valorile funct¸iei s¸i o reprezentăm grafic cu<br />
[X,Y]=meshgrid(-3:1:3); Z=peaks(X,Y); surf(X,Y,Z)