Algoritmo per derivate mediante interpolazione parabolica

Major_Zero
Salve a tutti, sto cercando di analizzare l'algoritmo per il calcolo della derivata di una funzione in un punto \(\displaystyle a \) mediante la derivata analitica del polinomio interpolante di grado 2 passante per quel punto e altri due posti simmetricamente a \(\displaystyle -h\) e \(\displaystyle +h \).

Se io scrivo il polinomio interpolante passante per \(\displaystyle a, b=a-h, c=a+h \) e poi ne calcolo la derivata

\(\displaystyle d P_2(a)/d x=f(a)(2a-b-c)/(a-b)(a-c)+f(b)(a-c)/(b-a)(b-c)+f(c)(a-b)/(c-a)(c-b)\),

ottengo un'espressione con molte operazioni: se sostituiamo b e c con le loro espressioni in funzione di a si ottiene la formula delle differenze simmetriche. Da quello che mi pare di capire questo algoritmo lasciato così com'è non fa altro che aumentare l'errore di round off ed il costo computazionale.

La mia domanda è: l'algoritmo non coincide con quello delle differenze simmetriche? Che differenza c'è con quest'ultimo? Forse che ho sbagliato a interpretare il problema?

Grazie a coloro che risponderanno

Risposte
vpindarico
Per quel che ne so io, calcolare la derivata di una funzione nota per punti mediante un polinomio (approssimante, non interpolante) è utile per ridurre l'effetto del rumore; vedi i polinomi di Savitzky-Golay.

Major_Zero
Il fatto è che io non devo trovare una funzione che approssimi la funzione derivata ma solamente calcolare il valore della derivata della funzione in un punto assegnato, utilizzando la derivata analitica del polinomio interpolante.

vpindarico
Per rispondere alla tua domanda del primo messaggio: l'algoritmo coincide.

Nulla da stupirsi, perché il metodo più banale per ottenere gli stencil delle differenze finite consiste proprio nello scrivere un sistema le cui equazioni si ottengono troncando lo sviluppo di Taylor. Nel caso specifico:

$f(a)+f'(a)h+f''(a)\frac{h^2}{2}=f(a+h)$
$f(a)-f'(a)h+f''(a)\frac{h^2}{2}=f(a-h)$

da cui $f'(a)=\frac{f(a+h)-f(a-h)}{2h}$. Questo equivale ad approssimare la funzione con una parabola.

Ciò serve, ad esempio, per esprimere alle differenze finite un'equazione differenziale, mentre come detto non è la scelta giusta per calcolare le derivate di una funzione data per punti ed affetta da rumore.

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