INDIETRO
 Laboratorio 7
AVANTI

interpolazione in matlab/octave

Per la interpolazione matlab/octave dispongono di una funzione molto versatile interp1 per la interpolazione monodimensionale e interp2 per quella bidimensionale.
La interpolazione usa alcune famiglie di polinomi e di splines (cioè polinomi raccordati in modo da avere una certa regolarità nei punti di raccordo.

Si parte dai dati che si vogliono interpolare, generalmente un vettore x ed uno y; si prende un nuovo vettore xinterp e si calcola con interp1 un vettore di dati interpolati (o estrapolati specificando il flag aggiuntivo 'estrap') yinterp, scegliendo tra le varie famiglie a disposizione come:

come esperimento prendiamo la funzione 1/(1 + 25 x^2) e scegliamo 20 punti sul suo grafico e proviamo ad interpolare 100 dati del suo grafico con interp1


x=linspace(-1,1,20);
y=1./(1+25*x.*x);
xinterp=linspace(-2,2,100);
yinterp=interp1(x,y,xinterp,'spline','extrap');
plot(xinterp, yinterp,x,y,"*");


Si noti che a seconda del metodo di interpolazione scelto il grafico varia notevolmente, sopratutto nella parte estrapolata.

Si provi a disegnare sullo stesso grafico il vero plot di 1/(1 + 25 x^2).  


INDIETRO
Laboratorio Didattico di Matematica Computazionale - Sergio Steffè - AA 2017/2018 - PISA
AVANTI