MATLAB

Iolanda3
Salve a tutti,
ho un problema con il comando "interpft" di Matlab all'interno di un programma di Analisi Numerica.
Praticamente mi si chiede di scrivere il codice per confrontare i grafici di 3 tipi di interpolazione di una funzione data: quella col polinomio di Newton, quella con la spline naturale periodica e quella trigonometica proprio attraverso l'uso del comando interpft.
Il problema è che interpft non interpola bene. Non passa, cioè, attraverso tutti gli n punti attraverso cui passano le altre interpolazioni.

Questo è il codice scritto da me:

n=7;
xx=linspace(0,2*pi,50);
yv=fun(xx); %valori reali di f

x=linspace(0,2*pi,n);
y=fun(x);
pN= newton(x,y,xx);
[a,b,pS] = splineper3(x,y,xx);

x=linspace(0,2*pi-1,n-1);
y=fun(x);
pF= interpft(y,50); %%polinomio trasf di Fourier

figure(1)
plot(xx,yv,'k',xx,pN,'b',xx,pS,'g',xx,pF,'r');
title('Confronto grafici');
legend('Funzione esatta','Newton','Spline perodica','Interpolazione trigonometrica').


Qualcuno sa dirmi cosa dovrei modificare? ci deve essere per forza qualche errore nell'uno del comando interpft perchè le altre funzioni interpolano tutte bene.
Grazie anticipatamente a chi proverà ad aiutarmi.

Risposte
Raptorista1
Se leggi l'help di interpft vedrai che fa alcune ipotesi sui dati in ingresso. Sono rispettate in questo caso?

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.