Come determinare i coefficienti di Spline cubica

Come determinare i coefficienti di Spline cubica

Interpolazione spline cubica si inserisce punti dati esattamente con una cilindrata tra ogni coppia di punti adiacente. Il cubics dispone della proprietà levigata non solo di corrispondenza il cubico vicino nel primo derivato o pendenza, quando incontrano il punto dati in comune, ma anche condividere la stessa derivata seconda ci. Questo può non sembrare necessario per la maggior parte delle esigenze di interpolazione, ma senza il secondo requisito di derivati, il cubics hanno due coefficienti di avere una soluzione unica. La strategia generale di soluzione implica la creazione di un sistema di equazioni lineari devono risolvere operazioni su matrici elementari.

Istruzioni

• Cominciare da decidere quale tipo di spline cubica che si desidera creare. I passaggi seguenti producono una spline "naturale", dove le derivate seconde alle due estremità dei punti dati ordinata uguale a zero. Questa è una scelta ragionevole, quando non c'è nessuna informazione sui punti finali per quanto riguarda la derivata della curva "vera" che si sta tentando di stimare.

• Indicare i n + punti di 1 dati, quando ordinato, come x(0), x(1), x (2),..., x (n), come se i numeri erano pedici.

• Definire n variabili come la differenza tra punti dati adiacenti: hj = x(j+1) - x(j). Il j di h(j) è da leggersi come pedice. Pertanto h(0) è x(1)-x(0) e h(n) è x(n+1)-x(n).

• Definire una matrice tridiagonale con prima e ultima righe essere (1 0 0 0...) e (0... 0 0 1) rispettivamente. Rendere la matrice n + 1 di n + 1, dove n + 1 è il numero di punti dati.

• Compilare le righe n-1 centrale con i tre valori h(j), 2(h(j)+h(j+1)) e h(j+1), dove j varia da 0 fino a n-2. Posizionarli orizzontalmente di limitarsi a metà tre diagonali.

• Annotare i valori del punto dati a x (i) come sezione i. Così per x-valore x (i), si desidera che la curva che si stai montaggio avere sezione i valore, dal momento che passerà attraverso il punto di dati in tale posizione.

• Definire un n + 1 verticale vettore B con la prima e l'ultima riga uguale a zero. Definire le righe n-1 centrale come 3/h(j)x(a(j+1)-a(j)) - 3/h(j-1)x(a(j)-a(j-1)); j varia da 1 a n-1 per darvi gli elementi n-1 per n-1 righe.

• Definire il n + 1 verticale vettore X come il c(j) di coefficienti che sono uno dei coefficienti si sta risolvendo per il cubics. X è sconosciuta a questo punto. Non si dispongono di nessun valore da compilare per esso ancora.

• Risolvere l'equazione lineare AX = B prendendo l'inverso della A e matrice moltiplicarlo con funzioni di B. utilizzo di Excel per risolvere questo sistema sarebbe molto più semplice rispetto all'utilizzo di un algoritmo informatico da un libro di ricette di analisi numerica o tramite riduzione delle righe a mano. Per farlo, entrare nelle cellule della matrice in un foglio di calcolo di Excel, utilizzare la funzione MATR. inversa per trovare l'inverso A. Quindi utilizzare la funzione MATR per moltiplicare B per l'inverso della A per ottenere X.

• Lasciate che b(j) le cellule del vettore B, dove j è compreso tra 0 e n-1 è uguale.

• Calcolare tutte le d(j) per essere uguale a [c(j+1)-c(j)]/3h(j). Ora avete tutti i coefficienti del cubics n tra i punti di 1 dati n +. a (j) + b(j)(x-x(j)) + c(j)(x-x(j)) ^ 2 + d(j)(x-x(j)) ^ 3 è l'equazione che stima il valore vero dei dati presso x tra dati punti x(j) e x(j+1) per j = 0 to n-1. Quindi ci sono n tali equazioni.