Vai al contenuto

Calcolo numerico/Interpolazione polinomiale a tratti (spline)

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Definizione di spline

[modifica | modifica sorgente]

Definizione

Consideriamo una funzione , diciamo che è una spline di grado se, dato un intervallo su cui consideriamo il partizionamento

è definita come

dove le sono polinomi di grado per , localmente , e tali che globalmente .

Nel caso , consideriamo l'intervallo e una partizione, in ciascun sottointervallo si ha un polinomio di grado 1, e le sono localmente polinomi di grado 1 e è di classe sull'intervallo; si ha l'interpolazione lineare a tratti.

Nel caso si ha l'interpolazione spline cubica, si considera una partizione di , in ciascun sottointervallo definisco un polinomio di grado 3. è di classe sull'intervallo.

Sistema per la determinazione della spline

[modifica | modifica sorgente]

sono polinomi di grado 3, con . Abbiamo coefficienti da determinare.

Dobbiamo imporre le seguenti condizioni:

  • condizioni di interpolazione, perché la spline deve valere in ;
  • condizioni di raccordo con continuità, cioè per ;
  • condizioni sulle derivate, cioè e perché dev'essere di classe .

Quindi mancano due condizioni per avere un sistema determinato di equazioni in incognite.

In base alle due condizioni aggiuntive che si impongono si hanno diversi tipi di spline:

Spline naturale
imponiamo che .
Spline completa e vincolata
e .
Spline periodica
supponiamo , allora e analogamente .

Abbiamo un sistema di equazioni in incognite, che però ha grandi dimensioni ed è spesso mal condizionato.

Metodo dei momenti

[modifica | modifica sorgente]

Definizione della funzione: sia la derivata seconda di in , per (incognite da calcolare), dove sono detti momenti. Siccome ha grado 3, la sua derivata è un polinomio di grado 1, inoltre, imponendo le condizioni:

si ottiene

dove .

Integrando due volte otteniamo:

Integrando nuovamente

Imposizione delle condizioni di interpolazione: per determinare i nuovi parametri , imponiamo le condizioni di interpolazione e otteniamo:

Inoltre

dove l'ultimo passaggio vale per la condizione di raccordo con continuità . Quindi, per otteniamo:

Risolviamo il sistema:

ed eguagliando le due equazioni otteniamo:

invece ricaviamo dalla prima equazione:

e come soluzione del sistema otteniamo

Imposizione delle condizioni di raccordo con continuità delle derivate:

Quindi, valutando in si ottiene:

analogamente

ed eguagliando le due espressioni:

e inserendo l'espressione della differenza divisa:

e dividendo ambo i membri per otteniamo:

e moltiplicando per 6

Chiamiamo

e simmetricamente

e sono due quantità positive, che hanno la proprietà

per qualsiasi tipo di nodi.

Abbiamo equazioni in incognite, date da:

Imposizione delle condizioni iniziali: la situazione dipende dalle condizioni imposte.

Spline naturale: imponiamo che , e . Allora otteniamo un sistema dove è una matrice tridiagonale della forma:

è il vettore delle incognite, mentre il termine noto è

La matrice è diagonalmente dominante sulle righe.

Se i nodi sono equispaziati, cioè se , la matrice è simmetrica. Per risolvere il sistema si può usare l'eliminazione gaussiana senza pivot, oppure metodi diretti che convergono per la dominanza diagonale stretta.

Spline completa: imponiamo le condizioni

Tenendo conto che

si ha

che si riscrive come

dividendo per e moltiplicando per 6:

Analogamente imponendo si ottene:

In questo caso abbiamo un sistema di equazioni della forma con:

Il vettore delle incognite è

Il termine noto è:

Abbiamo una matrice diagonalmente dominante in senso stretto, non è simmetrica neanche nel caso dei nodi equispaziati.

Spline periodica: e analogamente .

La seconda si traduce nella condizione . Prendendo l'espressione di , si impone l'uguaglianza e si ha . Introduciamo un nodo fittizio esterno all'intervallo, imponiamo che . Imponendo tutte le condizioni si ottiene

Quindi il sistema è tale che:

Il vettore delle incognite è

mentre il vettore del termine noto è

Questa matrice non è tridiagonale a causa di in posizione e in posizione . La matrice in ogni caso è diagonalmente dominante in senso stretto. Se i nodi sono equispaziati si ha la simmetria.

Nei tre casi, la matrice è diagonalmente dominante in senso stretto, e per il primo teorema di Gersch-Gorin è non singolare.

Se i nodi sono distinti, allora esiste ed è unica la spline cubica che interpola funzione assegnata.

Supponiamo che sia , consideriamo un partizionamento di in sottointervalli , poniamo e chiamiamo , e sia la spline cubica interpolante.