Adams-Bashforth metodoak

EDO integratzen duten urrats anitzeko metodo esplizituak, f dagoeneko kalkulatutako nodoetako interpolazio-polinomioaz hurbilduz: AB2-ren dedukzio osoa Lagrangerekin, AB3 eta AB4 formulak, beren ordena eta nola abiarazi.

Urrats bakarretik urrats anitzera

Urrats bakarreko metodoek aurreko nodoaren informazioa soilik erabiltzen dute; hurrengo azpitartera pasatzean, gainerako guztia botatzen dute. Urrats anitzeko metodoek dagoeneko kalkulatutako hainbat nodotako fj=f(tj,yj)f_j=f(t_j,y_j) maldak berrerabiltzen dituzte, eta beraz hobeto aprobetxatzen dute egindako lana: pauso bakoitzak ff-ren ebaluazio berri bakarra kostatzen du. PVIaren forma integraletik abiatzen da:

y(tk+1)=y(tk)+tktk+1f(τ,y(τ))dτy(t_{k+1})=y(t_k)+\int_{t_k}^{t_{k+1}} f(\tau,y(\tau))\,d\tau

Integrala ezin da kalkulatu, integrakizuna soluzio ezezagunaren araberakoa delako. Adams-Bashforth-ek ff ordezkatzen du aurreko nodoetan (tk,tk1,t_k, t_{k-1},\dots) interpolatzen duen polinomioaz, non bere balioak dagoeneko ezagunak diren, eta polinomio hori integratzen du. Kalkulatutako balioak soilik erabiltzen dituenez, lortutako metodoa esplizitua da.

AB2-ren dedukzioa

Bi pausoko kasuak mekanika osoa biltzen du: ff linealki interpolatu tk1t_{k-1} eta tkt_k-n, integratu eta koefizienteak irakurri.

tₖ₋₁tₖtₖ₊₁fₖ₋₁fₖmalda ezagunakestrapolazioahemen integratup₁(t)
AB2-k fk1f_{k-1} eta fkf_k malda ezagunak interpolatzen ditu, eta zuzen hori [tk,tk+1][t_k,t_{k+1}] tarte berrira estrapolatzen du.
Handitu diagrama

AB2-k fk1f_{k-1} eta fkf_k malda ezagunak interpolatzen ditu, eta zuzen hori [tk,tk+1][t_k,t_{k+1}] tarte berrira estrapolatzen du.

FrogapenaDedukzioa: 2 pausoko Adams-Bashforth (AB2)Ikusi orri propio gisa →

1. pausoa: forma integrala

tₖ₋₁tₖtₖ₊₁fₖ₋₁fₖmalda ezagunakestrapolazioahemen integratup₁(t)
Lagrange-ren zuzena dagoeneko kalkulatutako maldekin eraikitzen da eta gero nodoetatik kanpo erabiltzen da: horregatik Adams-Bashforth esplizitua eta estrapolatzailea da.
Handitu diagrama

Lagrange-ren zuzena dagoeneko kalkulatutako maldekin eraikitzen da eta gero nodoetatik kanpo erabiltzen da: horregatik Adams-Bashforth esplizitua eta estrapolatzailea da.

  1. y(t)=f(t,y(t))y'(t)=f(t,y(t)) PVI-tik abiatzen gara. Bi aldeak tkt_k eta tk+1t_{k+1} artean integratzen ditugu:

    tktk+1y(τ)dτ=tktk+1f(τ,y(τ))dτ\int_{t_k}^{t_{k+1}} y'(\tau)\,d\tau=\int_{t_k}^{t_{k+1}} f\bigl(\tau,y(\tau)\bigr)\,d\tau
  2. Ezkerreko aldeari Kalkuluaren Oinarrizko Teorema aplikatuz forma integral zehatza lortzen da. Oraindik ez dago hurbilketarik:

    y(tk+1)=y(tk)+tktk+1f(τ,y(τ))dτy(t_{k+1})=y(t_k)+\int_{t_k}^{t_{k+1}} f\bigl(\tau,y(\tau)\bigr)\,d\tau
  3. Integrakizun osoa ezezaguna da soluzio zehatzaren araberakoa delako, baina aurreko nodoetako balio hurbilduak ezagunak dira: fk1=f(tk1,yk1)f_{k-1}=f(t_{k-1},y_{k-1}) eta fk=f(tk,yk)f_k=f(t_k,y_k). AB2 f(τ,y(τ))f(\tau,y(\tau)) bi datu horiekin hurbiltzetik sortzen da.

2. pausoa: f Lagrangerekin interpolatu

  1. fk1f_{k-1} eta fkf_k balioak interpolatzen dituen 1. graduko polinomioa eraikitzen dugu, Lagrange oinarria erabiliz. tktk1=ht_k-t_{k-1}=h eta tk1tk=ht_{k-1}-t_k=-h direnez, oinarriak honela geratzen dira:

    Lk1(τ)=τtktk1tk=tkτh,Lk(τ)=τtk1tktk1=τtk1hL_{k-1}(\tau)=\frac{\tau-t_k}{t_{k-1}-t_k}=\frac{t_k-\tau}{h},\qquad L_k(\tau)=\frac{\tau-t_{k-1}}{t_k-t_{k-1}}=\frac{\tau-t_{k-1}}{h}
  2. Lagrange interpolatzailea balioen eta oinarrien konbinazioa da. Bi nodoetan malda ezagunekin bat datorren zuzena da:

    p1(τ)=fk1tkτh+fkτtk1h=fkτtk1hfk1τtkhp_1(\tau)=f_{k-1}\,\frac{t_k-\tau}{h}+f_k\,\frac{\tau-t_{k-1}}{h}=f_k\,\frac{\tau-t_{k-1}}{h}-f_{k-1}\,\frac{\tau-t_k}{h}
  3. Interpolazio-nodoak tk1t_{k-1} eta tkt_k dira, baina integrazio-tartea [tk,tk+1][t_k,\,t_{k+1}] da. Polinomioa bere nodoetatik kanpo estrapolatzean, metodoa esplizitua da.

3. pausoa: aldagai-aldaketa eta integrazioa

  1. Integratzeko, apunteetako aldaketa egiten dugu: s=τtks=\tau-t_k, hau da, τ=tk+s\tau=t_k+s eta dτ=dsd\tau=ds. τ=tk\tau=t_k denean, s=0s=0; τ=tk+1\tau=t_{k+1} denean, s=hs=h. Gainera:

    τtk1=s+h,τtk=s\tau-t_{k-1}=s+h,\qquad \tau-t_k=s
  2. Integralean f(τ,y(τ))f(\tau,y(\tau)) interpolatzaileaz, p1p_1-ez, ordezkatzen dugu. Aurreko aldaketarekin, zuzena honela idazten da:

    p1(tk+s)=fks+hhfk1shp_1(t_k+s)=f_k\,\frac{s+h}{h}-f_{k-1}\,\frac{s}{h}
  3. Bi zatiak bereiz integratzen ditugu. fkf_k-ren zatiak 3h2\frac{3h}{2} ematen du, eta fk1f_{k-1}-ren zatiak h2\frac{h}{2}, zeinu negatiboarekin:

    0hfks+hhds=fk1h[s22+hs]0h=3h2fk0hfk1shds=fk11h[s22]0h=h2fk1\begin{aligned} \int_0^h f_k\frac{s+h}{h}\,ds&=f_k\frac{1}{h}\Bigl[\frac{s^2}{2}+hs\Bigr]_0^h=\frac{3h}{2}f_k\\ \int_0^h f_{k-1}\frac{s}{h}\,ds&=f_{k-1}\frac{1}{h}\Bigl[\frac{s^2}{2}\Bigr]_0^h=\frac{h}{2}f_{k-1} \end{aligned}
  4. Beraz, pauso berriko integral hurbildua hau da:

    tktk+1f(τ,y(τ))dτtktk+1p1(τ)dτ=h2(3fkfk1)\int_{t_k}^{t_{k+1}} f\bigl(\tau,y(\tau)\bigr)\,d\tau\approx\int_{t_k}^{t_{k+1}} p_1(\tau)\,d\tau=\frac{h}{2}\bigl(3f_k-f_{k-1}\bigr)
  5. Forma integral zehatzean ordezkatuz eta y(tk)yky(t_k)\approx y_k erabiliz, bi pausoko Adams-Bashforth formula agertzen da:

    yk+1=yk+h2(3fkfk1)y_{k+1}=y_k+\frac{h}{2}\bigl(3f_k-f_{k-1}\bigr)

4. pausoa: errorea eta ordena

  1. Errore lokala p1p_1-en interpolazio-errorearen integrala da. Interpolatzaile linealerako, f(τ)p1(τ)=f(ξ)2(τtk1)(τtk)f(\tau)-p_1(\tau)=\frac{f''(\xi)}{2}(\tau-t_{k-1})(\tau-t_k); aldagai-aldaketarekin, (τtk1)(τtk)=h2s(s+1)(\tau-t_{k-1})(\tau-t_k)=h^2\,s(s+1) eta 01s(s+1)ds=56\int_0^1 s(s+1)\,ds=\frac{5}{6}:

    ek+1=hy(ξ)2h256=512h3y(ξ)=O(h3)e_{k+1}=h\cdot\frac{y'''(\xi)}{2}\cdot h^2\cdot\frac{5}{6}=\frac{5}{12}\,h^3\,y'''(\xi)=\mathcal{O}(h^3)
  2. Beti bezala, errore globalak potentzia bat galtzen du N1/hN\propto 1/h pauso metatzean: AB2 2. ordenakoa da, Heun bezala, baina pauso bakoitzeko ff-ren ebaluazio berri bakarrarekin. Ordenaren estimazio numerikoak baieztatzen du.

AB2-tik AB3 eta AB4-ra

Errezeta bera nodo gehiagorekin familia osoa sortzen du: ff interpolatzea tk,tk1,tk2t_k,t_{k-1},t_{k-2}-n polinomio koadratiko batekin eta 3-4 pausoak errepikatzea AB3 da (01(s+1)(s+2)2ds=2312\int_0^1\frac{(s+1)(s+2)}{2}ds=\frac{23}{12} bezalako integralekin); lau nodorekin eta kubiko batekin AB4 ateratzen da. Nodo gehigarri bakoitzak interpolatzailearen gradua igotzen du eta, harekin, metodoaren ordena.

AB2, AB3 eta AB4

ff 2. eta 3. graduko polinomioekin interpolatuz aurreko hiru eta lau nodotan (mekanika bera, integral luzeagoak) AB3 eta AB4 agertzen dira:

yk+1=yk+h2(3fkfk1)y_{k+1}=y_k+\frac{h}{2}\bigl(3f_k-f_{k-1}\bigr)
AB2, 2. ordena.
yk+1=yk+h12(23fk16fk1+5fk2)y_{k+1}=y_k+\frac{h}{12}\bigl(23f_k-16f_{k-1}+5f_{k-2}\bigr)
AB3, 3. ordena.
yk+1=yk+h24(55fk59fk1+37fk29fk3)y_{k+1}=y_k+\frac{h}{24}\bigl(55f_k-59f_{k-1}+37f_{k-2}-9f_{k-3}\bigr)
AB4, 4. ordena.

Metodoaren abiaraztea

mm pausoko metodo batek mm hasierako balio behar ditu, baina PVIak y0y_0 bakarrik ematen du. y1,,ym1y_1,\dots,y_{m-1} balioak ordena bereko urrats bakarreko metodo batekin kalkulatzen dira, errorea ez kutsatzeko: AB2 Heun-ekin abiarazten da (2. ordena) eta AB4 RK4-rekin (4. ordena). AB2-ren ariketak abiaraztea erakusten du eta 2. ordena numerikoki baieztatzen du.