Interpolation (Italiano)

This table gives some values of an unknown function f ( x ) {\displaystyle f(x)} .

Plot of the data points as given in the table.

x {\displaystyle x} f ( x ) {\displaystyle f(x)}
0 0
1 0 ., 8415
2 0 . 9093
3 0 . 1411
4 −0 . 7568
5 −0 . 9589
6 −0 . 2794

Interpolation provides a means of estimating the function at intermediate points, such as x = 2.5 {\displaystyle x=2.5} .,

Descriviamo alcuni metodi di interpolazione, che differiscono in proprietà quali: accuratezza, costo, numero di punti dati necessari e scorrevolezza della funzione interpolante risultante.

Interpolazione costante a tratti

Interpolazione costante a tratti o interpolazione vicina.

Ulteriori informazioni: Interpolazione vicina

Il metodo di interpolazione più semplice consiste nell’individuare il valore di dati più vicino e assegnare lo stesso valore., Nei problemi semplici, è improbabile che questo metodo venga utilizzato, poiché l’interpolazione lineare (vedi sotto) è quasi altrettanto facile, ma nell’interpolazione multivariata di dimensioni superiori, questa potrebbe essere una scelta favorevole per la sua velocità e semplicità.,il regolamento prende due punti dati, dire (xa,ya) e (xb,yb), e il interpolant è dato da:

y = y + ( y b − y a ) x x a x b − x a un punto ( x , y ) {\displaystyle y=y_{a}+\left(y_{b}-y_{a}\right){\frac {x-x_{a}}{x_{b}-x_{a}}}{\text{ a punto }}\left(x,y\right)}

y − y a y b − y a = x − x x b − x a {\displaystyle {\frac {y-y_{a}}{y_{b}-y_{a}}}={\frac {x-x_{a}}{x_{b}-x_{a}}}}

y − y x − x = y b − y a x b − x a {\displaystyle {\frac {y-y_{a}}{x-x_{a}}}={\frac {y_{b}-y_{a}}{x_{b}-x_{a}}}}

l’interpolazione Lineare è facile e veloce, ma non è molto preciso., Un altro svantaggio è che l’interpolante non è differenziabile nel punto xk.

La seguente stima dell’errore mostra che l’interpolazione lineare non è molto precisa. Denota la funzione che vogliamo interpolare per g, e supponiamo che x si trovi tra xa e xb e che g sia due volte continuamente differenziabile. Quindi l’errore di interpolazione lineare è

| f ( x ) − g ( x ) | ≤ C ( x b − x a ) 2 dove C = 1 8 max r max | g ” ( r ) | . Il nostro sito utilizza cookie tecnici e di terze parti per migliorare la tua esperienza di navigazione.,}

In parole, l’errore è proporzionale al quadrato della distanza tra i punti dati. L’errore in alcuni altri metodi, tra cui l’interpolazione polinomiale e l’interpolazione spline (descritta di seguito), è proporzionale a potenze superiori della distanza tra i punti dati. Questi metodi producono anche interpolanti più fluidi.,

Polinomio interpolationEdit

Plot dei dati con il polinomio di interpolazione applicata

articolo Principale: interpolazione Polinomiale

il Polinomio di interpolazione è una generalizzazione di interpolazione lineare. Si noti che l’interpolante lineare è una funzione lineare. Ora sostituiamo questo interpolante con un polinomio di grado superiore.

Considera di nuovo il problema sopra indicato. Il seguente polinomio di sesto grado passa attraverso tutti i sette punti:

f (x) = − 0.,0001521 x 6 – 0,003130 x 5 + 0,07321 x 4 – 0,3577 x 3 + 0,2255 x 2 + 0,9038 x . {\displaystyle f (x)=-0.0001521 x^{6}-0.003130 x^{5}+0.07321 x^{4}-0.3577 x^{3}+0.2255 x^{2}+0.9038 x.}

Sostituendo x = 2.5, troviamo che f(2.5) = ~0.59678.

Generalmente, se abbiamo n punti dati, c’è esattamente un polinomio di grado al massimo n−1 che passa attraverso tutti i punti dati. L’errore di interpolazione è proporzionale alla distanza tra i punti dati alla potenza n. Inoltre, l’interpolante è un polinomio e quindi infinitamente differenziabile., Quindi, vediamo che l’interpolazione polinomiale supera la maggior parte dei problemi dell’interpolazione lineare.

Tuttavia, l’interpolazione polinomiale presenta anche alcuni svantaggi. Il calcolo del polinomio interpolante è computazionalmente costoso (vedi complessità computazionale) rispetto all’interpolazione lineare. Inoltre, l’interpolazione polinomiale può presentare artefatti oscillatori, specialmente nei punti finali (vedi fenomeno di Runge).

L’interpolazione polinomiale può stimare massimi e minimi locali che sono al di fuori dell’intervallo dei campioni, a differenza dell’interpolazione lineare., Ad esempio, l’interpolante sopra ha un massimo locale a x ≈ 1.566, f(x) ≈ 1.003 e un minimo locale a x ≈ 4.708, f(x) ≈ -1.003. Tuttavia, questi massimi e minimi possono superare l’intervallo teorico della funzione—ad esempio, una funzione che è sempre positiva può avere un interpolante con valori negativi e la cui inversa contiene quindi falsi asintoti verticali.

Più in generale, la forma della curva risultante, specialmente per valori molto alti o bassi della variabile indipendente, può essere contraria al buon senso, cioè, a ciò che è noto circa il sistema sperimentale che ha generato i punti di dati. Questi svantaggi possono essere ridotti utilizzando l’interpolazione spline o limitando l’attenzione ai polinomi di Chebyshev.

Spline interpolationEdit

Plot dei dati con interpolazione spline applicata

articolo Principale: Interpolazione Spline

si Ricorda che l’interpolazione lineare utilizza una funzione lineare per ciascuno degli intervalli ., L’interpolazione spline utilizza polinomi di basso grado in ciascuno degli intervalli e sceglie i pezzi polinomiali in modo tale che si adattino uniformemente. La funzione risultante è chiamata spline.

Ad esempio, la spline cubica naturale è cubica a tratti e due volte continuamente differenziabile. Inoltre, la sua derivata seconda è zero nei punti finali. La spline cubica naturale che interpola i punti nella tabella sopra è data da

f ( x ) = { − 0.1522 x 3 + 0.9937 x , se x ∈ , − 0.01258 x 3 − 0.4189 x 2 + 1.4126 x − 0.1396 , se x ∈ , 0.1403 x 3 − 1.3359 x 2 + 3.2467 x − 1.,3623 , if x ∈ , 0.1579 x 3 − 1.4945 x 2 + 3.7225 x − 1.8381 , if x ∈ , 0.05375 x 3 − 0.2450 x 2 − 1.2756 x + 4.8259 , if x ∈ , − 0.1871 x 3 + 3.3673 x 2 − 19.3370 x + 34.9282 , if x ∈ . {\displaystyle f(x)={\begin{cases}-0.1522x^{3}+0.9937x,&{\text{if }}x\in ,\\-0.01258x^{3}-0.4189x^{2}+1.4126x-0.1396,&{\text{if }}x\in ,\\0.1403x^{3}-1.3359x^{2}+3.2467x-1.3623,&{\text{if }}x\in ,\\0.1579x^{3}-1.4945x^{2}+3.7225x-1.8381,&{\text{if }}x\in ,\\0.05375x^{3}-0.2450x^{2}-1.2756x+4.,8259, &{\text{if }}x\in ,\\-0.1871 x^{3}+3.3673 x^{2}-19.3370 x+34.9282,& {\text{if }}x\in .\ end {cases}}}

In questo caso otteniamo f(2.5) = 0.5972.

Come l’interpolazione polinomiale, l’interpolazione spline comporta un errore minore rispetto all’interpolazione lineare, mentre l’interpolante è più agevole e più facile da valutare rispetto ai polinomi di alto grado utilizzati nell’interpolazione polinomiale. Tuttavia, la natura globale delle funzioni di base porta a un cattivo condizionamento., Questo è completamente mitigato utilizzando spline di supporto compatto, come sono implementati in Boost.Matematica e discusso in Kress.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *