Interpolazioni: polinomiali, logaritmiche -> algoritmi

Hyde2
Salve a tutti, sono un programmatore e devo affrontare un problema legato ai metodi di interpolazione di tipo logaritmico, polinomiale (2, 3 grado) ed esponenziale.
Dovrei implementare questi algoritmi nel mio programma in modo da generare delle linee di tendenza (così come fa excel) partendo dall'interpolazione scelta dall'utente ed inoltre realizzare una funzione che data una valore x, mi restituisca il corrispettivo y in funzione sempre dell'algoritmo scelto.

In passato ho affrontato un problema simile per quanto riguardo la cubic spline, ma in quel caso il mio buon vecchio caro libro di algoritmi mi ha dato una mano.

Voi conoscete routine collaudate che implementino questi algoritmi?

Risposte
dissonance
Sei sicuro che si tratti di interpolazione e non di approssimazione nel senso dei minimi quadrati? Comunque il riferimento che mi piace di più su questi argomenti è il libro di Moler:

http://www.mathworks.com/moler/chapters.html

capitoli Interpolation o Least Squares; ma è tagliato su MATLAB. Forse ti può essere utile?

Hyde2
C'è una premessa da fare: la mia scarsa preparazione in materia, nonché quella di chi ha commissionato il lavoro; mi scuso pertanto se sto usando dei termini inappropriati.

Mi parli di approssimazione e non di interpolazione, bé, io posso dirti che il metodo cubic spline è stato sviluppato usando proprio il metodo Least square, ma in quel caso non ho fatto altro che tradurre in un C++, ciò che il mio libro di algoritmi esprimeva in C.
Ergo, alla domanda diretta se si tratti di approsimazione o veramente interpolazione, con imbarazzo, lo ammetto, ma non so rispondere.

Hai mai provato in excel a fare un grafico ed aggiungere una linea di tendenza?
Se si, ecco, io dovrei codare la stessa cosa, con quasi gli stessi algoritmi usati in excel ed inoltre creare una funzione che in base al metodo scelto, restituisca il valore di y corrispondente alla x passata...

Intanto, ringraziandoti per il tempo che mi hai dedicato, do un'occhiata al libro del link! :)

dissonance
Hai mai provato in excel a fare un grafico ed aggiungere una linea di tendenza?
In quel caso si tratta di approssimazione ai minimi quadrati. La differenza è molto semplice: gli algoritmi di interpolazione costruiscono curve che passano esattamente dai dati, quelli di approssimazione non necessariamente. L'interpolazione è quindi una particolare forma di approssimazione. Trovi tutto spiegato in modo molto semplice e leggibile nel libro di Moler, comunque. Te lo consiglio vivamente: l'unico problema, purtroppo, è che usa come piattaforma il MATLAB.

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