4. Töluleg diffrun
Nanny’s philosophy of life was to do what seemed like a good idea at the time, and do it as hard as possible. It had never let her down. – Terry Pratchett, Maskerade
4.1. Inngangur
4.1.1. Töluleg diffrun og heildun
Deildun og heildun eru meginaðgerðir stærðfræðigreiningarinnar.
Þess vegna er nauðsynlegt að geta nálgað
þar sem \(f\) er fall sem skilgreint er á bili \(I\) sem inniheldur \(a\) og \(b\).
4.1.2. Meginhugmynd í öllum nálgunaraðferðunum
Látum \(p\) vera margliðu sem nálgar \(f\), og látum \(r(x)=f(x)-p(x)\) tákna skekkjuna í nálgun á \(f(x)\) með \(p(x)\). Þá er
og
Nú þurfum við að gera tvennt:
Finna heppilegar nálgunarmargliður og reikna út
\[p'(a), \ p''(a),\dots, \qquad \int_a^b p(x)\, dx\]Meta skekkjurnar
\[r'(a), \ r''(a), \dots \int_a^b r(x)\, dx\]
Byrjum á að leiða út nokkrar nálgunarformúlur með skekkjumati.
4.2. Aðferðirnar
Látum \(f : I \to \mathbb R\) vera fall á bili \(I \subset \mathbb R\) og \(a\) vera punkt í \(I\). Afleiða \(f\) í punktinum \(a\) er skilgreind með
ef markgildið er til. Við skrifum því oft
Þessi nálgun er kölluð frammismunur því oftast hugsar maður sér að \(h > 0\) og þá er \(a+h\) lítið skref áfram frá \(a\).
Við þurfum skekkjumat fyrir þessa formúlu ef við eigum að geta notað hana.
4.2.1. Frammismunur
Við fáum mat á skekkjuna í nálguninni með að skoða Taylor-margliðu \(f\) í \(a\). Samkvæmt setningu Taylors er til \(\xi\) á milli \(a\) og \(a+h\) þannig að
Þá fæst að skekkjan í nálgun á \(f'(a)\) með
er
Með öðrum orðum
Við sjáum því að \(e=O(h)\) þegar \(h \to 0\).
4.2.2. Bakmismunur
Við getum sett \(a-h\) í stað \(a+h\) í skilgreininguna á afleiðu. Þá fæst svokallaður bakmismunur
og ljóst er að sama skekkjumat gengur fyrir þessa nálgun og fyrir nálgun með frammismun.
4.2.3. Miðsettur mismunakvóti
Lítum nú á þriðja stigs Taylor nálgun
þar sem \(\alpha\) er á milli \(a\) og \(a+h\) og \(\beta\) er á milli \(a\) og \(a-h\).
Tökum nú mismuninn og fáum
Ef \(f'''\) er samfellt fall, þá gefur milligildissetningin okkur að til er \(\xi\) á milli \(\alpha\) og \(\beta\) þannig að \(f'''(\xi)=\tfrac 12 (f'''(\alpha)+f'''(\beta))\)
Niðurstaðan verður
Þannig að skekkjan er
og jafnframt er \(e = O(h^2)\) þegar \(h\to 0\).
4.2.4. Miðsettur mismunakvóti fyrir aðra afleiðu
Við getum útfært þessa sömu hugmynd til þess að reikna út aðra afleiðu, en þá byrjum við með fjórða stigs Taylor-nálgun
þar sem \(\alpha\) er á milli \(a\) og \(a+h\) og \(\beta\) er á milli \(a\) og \(a-h\).
Nú leggjum við saman og fáum
Nú þurfum við að gefa okkur að \(f^{(4)}\) sé samfellt fall, þá gefur milligildissetningin okkur að til er \(\xi\) á milli \(\alpha\) og \(\beta\) þannig að \(f^{(4)}(\xi)=\tfrac 12 (f^{(4)}(\alpha)+f^{(4)}(\beta))\).
Niðurstaðan verður
Með Taylor-margliðum má leiða út fleiri nálgunarformúlur fyrir afleiður.
Við ætlum ekki að halda lengra í þessa átt heldur snúa okkur að almennu aðferðinni.
4.3. Skekkjumat
4.3.1. Almennt um nálganir á afleiðum
Ef \(x_0,\ldots, x_n\) eru punktar í \(I\) (hugsanlega með endurtekningum) og \(p\) er margliðan sem brúar \(f\) í þeim, þá er
þar sem skekkjuliðurinn \(r(x)\) er gefinn með formúlunni
Ef við tökum \(p'(a)\) sem nálgun á \(f'(a)\) er skekkjan
4.3.2. Skekkjumat
Munið að formúlan fyrir afleiðu af margfeldi margra þátta er
Horfum nú á skekkjuliðinn \(r(x)\). Hann er svona margfeldi með \(\varphi_1(x)=f[x_0,\dots,x_n,x]\), \(\varphi_2(x)=x-x_0\), \(\varphi_3(x)=x-x_1\) o.s.frv.
Athugum nú að ef \(a\) er einn af gefnu punktunum \(x_k\), þá er \(\varphi_{k+2}(x)=(x-x_k)\) sem gefur \(\varphi_{k+2}(x_k)=0\) og \(\varphi_{k+2}'(x_k)=1\).
Þetta segir okkur að ef við tökum \(a=x_k\), þá eru allir liðirnir í summunni í hægri hliðinni \(0\) nema einn, þ.e. við sitjum eftir með þann sem inniheldur \({\varphi}_{k+2}'\).
Niðurstaðan verður því að skekkjan í nálgun á \(f'(a)\) með \(p'(a)\) er
þar sem \(a=x_k\).
Hér notuðum við skekkjumatið fyrir Newton aðferðina sem segir að til er \(\xi\) á minnsta bilinu sem inniheldur \(x_0,\ldots,x_n,x_k\) sem uppfyllir
4.3.3. Frammismunur
Nálgum \(f\) með fyrsta stigs brúunarmargliðunni gegnum punktana \((a,f(a))\) og \((a+h,f(a+h))\) (þ.e. \(x_0 = a\) og \(x_1 = a+h\)),
Af þessu leiðir formúlan sem við vorum áður komin með
Þar sem \(\xi\) er á milli \(a\) og \(a+h\) og uppfyllir að \(f[a,a+h,a]=f[a,a,a+h]=\tfrac 12f''(\xi)\). Hér erum við að notafæra okkur aftur skekkjumatið sem við sönnuðum í kaflanum um brúunarmargliður.
4.3.4. Miðsettur mismunakvóti
Tökum þriggja punkta brúunarformúlu með \(a-h\), \(a+h\) og \(a\). Þá er
Athugum að afleiðan af annars stigs þættinum
er \(0\) í punktinum \(a\) og því er
Hér nýttum við okkur að til er \(\xi\) á milli \(a-h\) og \(a+h\) þannig að \(f[a-h,a+h,a,a]=\tfrac 16 f'''(\xi)\).
4.3.5. Miðsettur mismunakvóti fyrir aðra afleiðu
Áfram heldur leikurinn. Nú skulum við leiða aftur út formúluna fyrir nálgun á \(f''(a)\) með miðsettum mismunakvóta
Þá tökum við þriggja punkta brúunarformúlu með \(a-h\), \(a+h\) og \(a\) með \(a\) tvöfaldan. Þá er
Gætum þess að halda liðnum \((x-a)\). Þá fáum við
Nú þurfum við að reikna aðra afleiðu í punktinum \(a\). Athugum að önnur afleiða af annars stigs þættinum
er fastafallið \(2\), önnur afleiða af þriðja stigs liðnum
er \(0\) í punktinum \(a\) og önnur afleiða af fjórða stigs liðnum
er fastafallið \(-2h^2\).
Við höfum því
Nú er til punktur \(\xi\) á minnsta bili sem inniheldur \(a-h\), \(a+h\) og \(a\) þannig að \(f[a-h,a+h,a,a,a]=\tfrac 1{24}f^{(4)}(\xi)\).
Við þurfum að reikna út fyrri mismunakvótann
Við höfum því leitt aftur út formúluna
4.4. Richardson útgiskun
Það ætti að vera ljóst að töluleg deildun er nokkuð óstöðug aðferð því ef skrefastærðin \(h\) er lítil eru tölurnar \(f(a+h), f(a), f(a-h)\) nálægt hver annarri og við getum lent í styttingarskekkjum.
Því er ekki hægt að búast við að fá alltaf betri nálgun á \(f'(a)\) við að minnka skrefalengdina \(h\).
Leiðin er Richardson útgiskun (e. extrapolation), sem er aðferð til að bæta nálganir.
Til eru mjög almennar útgáfur þessarar aðferðar en við munum aðeins skoða þau sértilfelli sem nýtast okkur mest.
4.4.1. Útleiðsla á miðsettum mismunakvóta
Við skulum byrja á að að leiða aftur út formúluna fyrir miðsettann mismunakvóta til að fá betri upplýsingar um skekkjuliðinn. Fyrir fall \(f\) sem er nógu oft deildanlegt má beita Taylor til að skrifa
Ef við drögum seinni jöfnuna frá þeirri fyrri fæst
svo ef við einangrum \(f'(a)\) sjáum við að
þar sem
4.4.2. Helmingun á skrefinu
Hér er minnsta veldi í skekkjuliðnum \(h^2\), svo nálgunin \(f'(a) \approx R_1(h)\) er \(O(h^2)\), eins og við höfum reyndar séð áður. Helmingum nú skrefalengdina \(h\), þá fæst
Nú berum við saman þessi tvö skref:
Margföldum efri jöfnuna með \(4\) og drögum þá síðari frá. Þá stendur eftir
4.4.3. Fjórða stigs nálgun
Nú erum við komin með nýja formúlu:
þar sem
Ef við berum þetta saman við jöfnuna sem við byrjuðum með
þá sjáum við að minnsta veldi í skekkjuliðnum er \(h^4\), svo nálgunin \(f'(a) \approx R_2(h)\) uppfyllir
og er því betri nálgun en áður.
Þetta ferli heitir Richardson útgiskun.
4.4.4. Hægt er að halda áfram útgiskun
Næsta takmark er að eyða liðnum \(b_4h^4\) úr þessari formúlu með því að líta á
Síðan stillum við þessari jöfnu upp með þeirri síðari
Margföldum fyrri jöfnuna með \(16\) og drögum þá síðari frá
4.4.5. Sjötta stigs skekkja
Því er
þar sem
Nýja nálgunin uppfyllir
og er því enn betri en áður, en við þurfum líka að reikna út \(R_1(h/4)\) til að reikna \(R_2(h/2)\).
4.4.6. Almenn rakningarformúla
Richardson-útgiskunin heldur áfram og út kemur
fyrir \((i+1)\)-tu Richardson útgiskun og \(R_{i+1}(h)\) uppfyllir að
en á móti kemur að til að reikna út \(R_{i+1}(h)\) þurfum við að hafa reiknað út tölurnar
Eins og áður sagði fara styttingarskekkjur á endanum að segja til sín í útreikningum á \(R_1(h)\), svo einhver takmörk eru fyrir hversu margar Richardson útgiskanir er hægt að framkvæma.
4.4.7. Reiknirit
Útreikningarnir að ofan eru yfirleitt settir fram í töflu
þar sem \(D(i,j) = R_j(h/2^{i-j})\) og þar með
sem gerir okkur auðvelt að forrita Richardson útgiskun.
4.4.8. Skekkjumat
Finnum nú eftirámat fyrir \(D(i,j)\) með stærðunum \(D(i,j-1)\) og \(D(i-1,j-1)\). Hér á eftir er \(R_j(h/2)\) í hlutverki \(D(i,j-1)\) og \(R_i(h)\) í hlutverki \(D(i-1,j-1)\) (\(h\) er helmingað þegar við förum niður um eina línu).
Munum að \(R_i(h)\) uppfyllir að
fyrir eitthvert \(K\) í \(\mathbb R\) og að
Ef við tökum mismun á hægri og vinstri hliðum þessara jafna, þá fáum við
og ef við einangrum \(K\) fæst
4.4.9. Útleiðsla á fyrirframmati
Þá er skekkjan í nálgun á \(f'(a)\) með \(R_j(h/2)\) jöfn
Þar sem \(R_j(h/2)\) er nálgun á \(f'(a)\) af stigi \(O(h^{2j+1})\), en \(R_{j+1}(h)\) er nálgun á \(f'(a)\) af stigi \(O(h^{2i+3})\) getum við slegið á \(e_{j+1}(h)\) með \(e_j(h/2)\). Ef við lækkum vísinn \(j+1\) um einn gefur það okkur matið
sem er einmitt liðurinn í rakningarformúlunni fyrir \(D(i,j)\).
4.4.10. Sýnidæmi
Látum \(f(x)=x/(x^2+4)^{2/3}\) og \(a=-1\). Byrjum með \(h=1\) og notum svo rakningarformúluna til þess að fylla út útgiskunartöfluna.
\(h\) |
\(D(i,1)\) |
\(D(i,2)\) |
\(D(i,3)\) |
\(D(i,4)\) |
---|---|---|---|---|
1 . |
0.25000000 |
|||
0.5 |
0.25151838 |
0.25202451 |
||
0.25 |
0.25104655 |
0.25088928 |
0.25081360 |
|
0.125 |
0.25086355 |
0.25080254 |
0.25079676 |
0.25079649 |
Niðustaðan er: \(f'(-1)\approx 0.2507964\), með eftirámat á skekkju \(-3\cdot 10^{-7}\).
Rétt gildi er \(0.25079647217924889177\).