Interpolazione Matlab
Salve, sono un neofita di Matlab e l'altro giorno mentre facevo degli esercizi di fisica mi è capitato di dover interpolare dei dati sperimentali. Avevo un elenco di punti ed avevo bisogno di trovare il polinomio di 2 grado che meglio li interpolasse. Ho pensato di provare con Matlab, ma no so da che parte rifarmi. Qualche generoso aiuto? esistono delle funzioni predefinite o devo implementare gli algoritmi per conto mio?
Grazie in anticipo!
Grazie in anticipo!
Risposte
Se devi solo trovare un polinomio di secondo grado usa Excel ...
Era per impratichirmi... E' saltato fuori che un esame che darò a breve va sostenuto con l'ausilio di matlab e a stento so definire le variabili...
Sai qualcosa della teoria di quello che vuoi fare? Id est, sapresti farlo con carta e penna?
Non credo. Ho seguito un corso di "calcolo" dove abbiamo rapidamente visto l'interpolazione di Lagrange, Newtown e Vandermonde, ma non so se in questo caso sia utile perché otterrei un polinomio di grado superiore al secondo. Per tale ragione forse dovrei usare una regressione (?), tipo i minimi quadrati? Ho studiato un po' questi argomenti l'anno scorso, ma dovrei riguardarle perché non ricorda quasi nulla. Speravo Matlab avesse qualche funzione preimpostata...
Sicuramente matlab ha funzioni prefabbricate per questo: guarda la funzione [inline]polyfit[/inline]. Io avevo capito che tu volessi implementarlo a mano.
Grazie mille, è proprio quello che cercavo. Già che ci sono ti chiedo una ultima cosa: e se invece avessi voluto un polinomio di grado qualsiasi che meglio interpolasse i miei dati, che funzione avrei potuto usare?
Un polinomio di grado qualsiasi?
Scusami, mi sono espresso male. In questo caso io avevo un numero $n$ di dati e volevo trovare la parabola che meglio li approssimasse perché già sapevo che la curva doveva essere una parabola. Se io avessi invece un altro set di $n$ punti e volessi trovare il polinomio che meglio me li approssima (non sapendo a priori il grado del polinomio) che funzione MATLAB posso usare? Ad esempio, se non ricordo male, con l'interpolazione di Lagrange otterrei un polinomio di grado $n-1$; esiste qualche comando che abbia dei metodi già implementati?
Il grado del polinomio interpolante lo decidi tu. Se il grado è \(n-1\) allora l'interpolazione è esatta, altrimenti no.