Interpolació per splines

De testwiki
La revisió el 15:19, 10 gen 2025 per imported>EVA3.0 (bot) (Puntuació (vegeu, per exemple, https://www.uoc.edu/portal/ca/servei-linguistic/criteris/ortografia/puntuacio/index.html))
(dif.) ← Versió més antiga | Versió actual (dif.) | Versió més nova → (dif.)
Salta a la navegació Salta a la cerca

Plantilla:Vegeu també

En el camp matemàtic de l'anàlisi numèrica la interpolació per splines és una forma d'interpolació on l'interpolant és un tipus especial de funció polinòmica definida a trossos anomenada un spline. La interpolació per splines es prefereix sobre la interpolació polinòmica perquè l'error d'interpolació es pot fer petit fins i tot en utilitzar polinomis de graus baixos per l'spline. La interpolació per splines evita el problema del fenomen de Runge que ocorre en interpolar entre punts equidistants amb polinomis de graus alts.

Introducció

Els regles elàstics que es doblegaven per passar a través d'un cert nombre de punts predefinits (els "nodes") s'utilitzaven per a dibuixos tècnics a mà per a la construcció naval, com s'il·lustra a la figura 1.

Figura 1: Interpolació amb splines cúbics entre vuit punts. Els dibuixos tècnics dibuixats de mà es feien per construcció de vaixells etc. utilitzant regles flexibles que es doblegaven per seguir punts predefinits (els "nodes")

L'enfocament per imitar matemàticament la forma de tals regles elàstics fixats a n+1 "nodes" (xi,yi)i=0,1,,n és interpolar entre tot parell de "nodes" (xi1 yi1) i (xi yi) amb polinomis y=qi(x)i=1,2,,n

La curvatura d'una corba

y=f(x)

és

Com que el regle elàstic prendrà una forma que minimitza l'energia de flexió elàstica sota la restricció de passar a través de tots els "nodes" tant y com y seran continus a tot arreu, també als "nodes". Per aconseguir-ho s'ha de complir que

q'i(xi)=q'i+1(xi)

i que

q'i(xi)=q'i+1(xi)

per a tot i, 1in1. Això només es pot aconseguir si es fan servir polinomis del grau 3 o més alt. L'aproximació clàssica és de fer servir polinomis del grau 3, aquest és el cas dels "splines cúbics".

Algorisme per trobar que l'spline cúbic d'interpolació

Un polinomi de tercer ordre q(x) per al qual

q(x1)=y1
q(x2)=y2
q'(x1)=k1
q'(x2)=k2

es pot escriure de forma simètrica

  1. Plantilla:NumBlk

on

  1. Plantilla:NumBlk

i

  1. Plantilla:NumBlk
  2. Plantilla:NumBlk

Com que q'=dqdx=dqdt dtdx=dqdt alqual1x2x1 resulta que

  1. Plantilla:NumBlk
  2. Plantilla:NumBlk

Posant x=x1 i x=x2 a (Plantilla:EquationNote) i (Plantilla:EquationNote) s'obté de (Plantilla:EquationNote) que en efecte q'(x1)=k1, q'(x2)=k2 i que

  1. Plantilla:NumBlk
  2. Plantilla:NumBlk

Si ara

(xi,yi)i=0,1,,n

són els n+1 punts i

  1. Plantilla:NumBlk

on

t=xxi1xixi1

són n polinomis de tercer grau que interpolen y en l'interval xi1x<xi per a i=1,,n tal que

qi'(xi)=qi+1'(xi)

per a i=1,,n1

llavors els n polinomis junts defineixen una funció derivable a l'interval x0xxn i

  1. Plantilla:NumBlk
  2. Plantilla:NumBlk

per a i=1,,n on

  1. Plantilla:NumBlk
  2. Plantilla:NumBlk
  3. Plantilla:NumBlk

Si la successió k0,k1,,kn és tal que a més a més

qi'(xi)=qi+1'(xi)

per a i=1,,n1

la funció que resulta tindrà fins i tot una segona derivada contínua.

De (Plantilla:EquationNote), (Plantilla:EquationNote), (Plantilla:EquationNote) i (Plantilla:EquationNote) se segueix que aquest és el cas si i només si

  1. Plantilla:NumBlk

per a i=1,,n1

Les relacions (Plantilla:EquationNote) són n-1 equacions lineals per als n+1 valors de k0,k1,,kn.

Per als regles elàstics que són el model per la interpolació per splines cal observar que a l'esquerra del primer node i a la dreta del últim el regle es pot moure lliurement i, per tant, prendrà la forma d'una recta amb q=0. Com que q ha de ser una funció contínua de x es té que per als "Splines naturals" a més a més de les n-1 equacions lineals (Plantilla:EquationNote) s'ha d'imposar que

qi'(x0) =2 3(y1y0)(k1+2k0)(x1x0)(x1x0)2=0
qn'(xn) =2 3(ynyn1)(2kn+kn1)(xnxn1)(xnxn1)2=0

és a dir que

  1. Plantilla:NumBlk
  2. Plantilla:NumBlk

(Plantilla:EquationNote) juntament amb (Plantilla:EquationNote) i (Plantilla:EquationNote) constitueixen n+1 equacions lineals que defineixen de forma única els n+1 paràmetres de k0,k1,,kn

Exemple

Figura 2: Interpolació amb splines cúbics "naturals entre tres punts.

En el cas de tres punts els valors per a k0,k1,k2 es troben resolent el sistema d'equacions lineals

[a11a120a21a22a230a32a33][k0k1k2]=[b1b2b3]

amb

a11=2x1x0
a12=1x1x0
a21=1x1x0
a22=2 (1x1x0+1x2x1)
a23=1x2x1
a32=1x2x1
a33=2x2x1
b1=3 y1y0(x1x0)2
b2=3 (y1y0(x1x0)2+y2y1(x2x1)2)
b3=3 y2y1(x2x1)2

Per als tres punts

(1,0.5) , (0,0) , (3,3)

s'obté que

k0=0.6875 , k1=0.1250 , k2=1.5625

i de (Plantilla:EquationNote) i (Plantilla:EquationNote) que

a1=k0(x1x0)(y1y0)=0.1875
b1=k1(x1x0)+(y1y0)=0.3750
a2=k1(x2x1)(y2y1)=3.3750
b2=k2(x2x1)+(y2y1)=1.6875

A la figura 2 es mostra la funció spline que consta dels dos polinomis cúbics q1(x) i q2(x) donats a per (Plantilla:EquationNote)

Vegeu també

Enllaços externs