Estratto del documento

Calcolo numerico - Elaborato 3

Scopo: Utilizzando le funzioni Matlab, fare esempi d'uso significativi per i problemi di interpolazione e smoothing polinomiale (polyfit, polyval), interpolazione con polinomiale a tratti (interp1) e con i diversi tipi di spline (spline, csape, ppval). Presentare una breve descrizione dei casi trattati con i vari esempi.

Introduzione all'interpolazione e smoothing polinomiale

Per valutare l'andamento di un fenomeno qualsiasi, ci troviamo a dover scegliere in che modo trasformare i dati acquisiti tramite rilevazioni o indagini statistiche in una funzione numerica da poter analizzare. Infatti, sono diversi i modelli da utilizzare a seconda del tipo di informazione e dal modo in cui è stata raccolta. Se abbiamo un numero elevato di dati che potrebbero essere affetti da errori di rilevazione oppure se siamo semplicemente interessati all'andamento globale di un fenomeno piuttosto che alla sua valutazione in un dato punto, il Matlab mette a disposizione le funzioni polyfit e polyval che permettono di valutare i coefficienti del polinomio interpolante o la curva di smoothing di una funzione in maniera appunto globale.

>> x=1:10;
>> y=x+rand(1,1)*rand(1,length(x));
>> plot(x,y,'o');

Interpolazione tramite retta di minimi quadrati

Il modello che approssima l'andamento di questi dati è un polinomio di primo grado e viene detto retta di minimi quadrati. In Matlab si rappresenta in questo modo:

>> coef=polyfit(x,y,1);
>> t=1:0.5:10;
>> f=polyval(coef,t);
>> plot(x,y,'o',t,f);

Con le funzioni polyfit e polyval possiamo interpolare i dati con polinomi di grado massimo n-1 con n numero delle rilevazioni effettuate ed in questo caso si ha il cosiddetto polinomio interpolante:

>> coef=polyfit(x,y,length(x)-1);
>> f=polyval(coef,t);
>> plot(x,y, 'o',t,f);

Utilizzo dell'interpolazione a tratti

Se invece i dati che abbiamo sono relativamente pochi e possono essere considerati esatti, possiamo utilizzare altre funzioni messe a disposizione dal Matlab. Ad esempio, per valutare la percentuale di crescita della popolazione italiana dal 1861 al 2001 (dati Istat) potremmo utilizzare un polinomio interpolante a tratti tramite la funzione interp1:

>> x=[1861 1871 1881 1901 1911 1921 1931 1936 1951 1961 1971 1981 1991 2001];
>> y=[22.2 27.3 29 33 36 39.4 41 42.4 47.5 50.6 54.1 56.6 56.8 57];
>> t=1861:2001;
>> yi=interp1(x,y,t);
>> plot(x,y,'o',t,yi); title('Popolazione residente (interp1)'); xlabel('Anno'); ylabel('Dati in milioni');

Interp1 non è un metodo ottimale in quanto restituisce una semplice interpolazione lineare tra i punti dati...

Anteprima
Vedrai una selezione di 3 pagine su 7
Calcolo Numerico – Fitting dei dati Pag. 1 Calcolo Numerico – Fitting dei dati Pag. 2
Anteprima di 3 pagg. su 7.
Scarica il documento per vederlo tutto.
Calcolo Numerico – Fitting dei dati Pag. 6
1 su 7
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche MAT/08 Analisi numerica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Sara F di informazioni apprese con la frequenza delle lezioni di Calcolo numerico e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof D'Amore Luisa.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community