Slik fastslår koeffisientene Cubic Spline

Slik fastslår koeffisientene Cubic Spline


Kubiske spline interpolering passer nøyaktig datapunkter med en kubisk mellom hvert tilstøtende par av punkter. De cubics har glattet tilhører ikke bare matche nabo kubikk i den første deriverte, eller skråning, når de møtes på datapunktet til felles, men også har samme annenderiverte der. Dette kan ikke synes nødvendig for de fleste interpole behov, men uten den andre deriverte krav, de kubiske polynomer har to koeffisienter for å ha en unik løsning. Den generelle strategi for løsning innebærer å lage et system av lineære ligninger som skal løses ved elementær matriseoperasjoner.

Bruksanvisning

1 Begynn med å bestemme hvilken type cubic spline du vil opprette. Følgende trinn produsere en "naturlig" spline, hvor andre deriverte ved de to endene av bestilt datapunkter lik null. Dette er et fornuftig valg når det er ingen informasjon i det endepunktene som til den deriverte av den "sanne" kurve som du prøver å anslå.

2 Betegne n + 1 datapunkter, når bestilt, som x (0), x (1), x (2), ..., x (n), som om tallene var senket.

3 Definere n variabler som differansen mellom tilstøtende datapunkter: hj = x (j + 1) - x (j). Den j av h (j) skal leses som en indeks. Derfor er h (0) x er (1) -x (0) og h (n) er x (n + 1) -x (n).

4 Definer en tridiagonal matrise med første og siste rad er (1 0 0 0 ...) og (0 ... 0 0 1) hhv. Gjøre matriksen n + 1 med n + 1, der n + 1 er antallet datapunkter.

5 Fyll i midten n-1 rader med tre verdier h (j), 2 (h (j) + h (j + 1)), og h (j + 1), hvor j går fra 0 til n-2 . Plasser dem horisontalt for å være begrenset til de tre midterste diagonaler.

6 Kommentere datapunktverdier ved x (i) som (i). Så for x-verdi x (i), vil du kurven du passer til å ha verdi en (i), siden det vil passere den gjennom datapunkt på den plasseringen.

7 Definer en n + 1 vertikal vektor B med første og siste rad lik null. Definere midten n-1 p som 3 / h (j) x (a (j + 1) -a (j)) - 3 / h (j-1) x (a (j) -a (j-1) ); j varierer fra 1 til n-1 for å gi N-1 elementer for n-1 rader.

8 Definer n + 1 vertikal vektor X som koeffisientene c (j) som er en av koeffisientene i cubics du løse for. X er ukjent ved dette punktet. Du har ingen verdier å fylle ut for det ennå.

9 Løs den lineære ligningen AX = B ved å ta den inverse av A og matrise multiplisere det med B. Bruke Excel-funksjoner for å løse dette systemet ville være mye enklere enn å bruke en datamaskin algoritme fra en numerisk analyse oppskrift bok eller bruke rad reduksjon for hånd. For å gjøre dette, gå inn i cellene i matrisen inn i et Excel-regneark, bruker MINVERSE funksjonen til å finne den inverse av A. Deretter bruker funksjonen MMULT å multiplisere B ved den inverse av A for å få X.

10 La b (j) lik celler av vektoren B, hvor j i området fra 0 til n-1.

11 Beregne alle d (j) til å være lik [c (j + 1) -C (j)] / 3t (j). Du har nå alle koeffisientene til n cubics mellom n + 1 datapunkter. en (j) + b (j) (xx (j)) + c (j) (xx (j)) ^ 2 + d (j) (xx (j)) ^ 3 er ligningen som beregner den sanne verdien av data på x i mellom datapunktene x (j) og x (j + 1) for j = 0 til n-1. Så det er n slike ligninger.