Panimula

Kapag nilulutas ang mga problemang pang-agham at inhinyero, kadalasang kinakailangan na mathematically ilarawan ang ilang dynamic na sistema. Pinakamabuting gawin ito sa anyo differential equation (DU) o mga sistema ng differential equation. Kadalasan, ang problemang ito ay lumitaw kapag nilulutas ang mga problema na may kaugnayan sa pagmomodelo ng mga kinetika ng mga reaksiyong kemikal at iba't ibang mga transfer phenomena (init, masa, momentum) - paglipat ng init, paghahalo, pagpapatayo, adsorption, kapag inilalarawan ang paggalaw ng macro- at microparticle.

Sa ilang mga kaso, ang isang differential equation ay maaaring ibahin sa anyo kung saan ang pinakamataas na derivative ay tahasang ipinahayag. Ang anyo ng pagsulat na ito ay tinatawag na equation na naresolba nang may kinalaman sa pinakamataas na derivative (sa kasong ito, ang pinakamataas na derivative ay wala sa kanang bahagi ng equation):

Ang solusyon sa isang ordinaryong differential equation ay isang function na y(x) na, para sa alinmang x, natutugunan ang equation na ito sa isang tiyak na may hangganan o walang katapusan na pagitan. Ang proseso ng paglutas ng differential equation ay tinatawag na pagsasama ng differential equation.

Sa kasaysayan ang una at pinaka sa simpleng paraan Ang numerical na solusyon ng problemang Cauchy para sa mga first-order na ODE ay ang Euler method. Ito ay batay sa approximation ng derivative sa pamamagitan ng ratio ng may hangganang mga pagdaragdag ng dependent (y) at independent (x) na mga variable sa pagitan ng mga node ng isang pare-parehong grid:

kung saan ang y i+1 ay ang gustong halaga ng function sa punto x i+1.

Ang katumpakan ng pamamaraan ni Euler ay maaaring mapabuti kung ang isang mas tumpak na formula ng pagsasama ay ginagamit upang tantiyahin ang integral - trapezoidal formula.

Ang formula na ito ay lumalabas na implicit tungkol sa y i+1 (ang value na ito ay nasa kaliwa at kanang bahagi ng expression), iyon ay, ito ay isang equation na may kinalaman sa y i+1, na maaaring malutas, halimbawa, ayon sa numero, gamit ang ilang umuulit na paraan (sa ganoong anyo, maaari itong ituring bilang umuulit na formula ng simpleng paraan ng pag-ulit).

Komposisyon ng gawaing kurso: gawaing kurso binubuo ng tatlong bahagi. Ang unang bahagi ay naglalaman ng isang maikling paglalarawan ng mga pamamaraan. Sa ikalawang bahagi, ang pagbabalangkas at solusyon ng problema. Sa ikatlong bahagi - pagpapatupad ng software sa wika ng computer

Ang layunin ng gawaing kurso: pag-aralan ang dalawang pamamaraan para sa paglutas ng mga differential equation - ang Euler-Cauchy method at ang pinahusay na paraan ng Euler.

1. Teoretikal na bahagi

Numerical differentiation

Ang differential equation ay isang equation na naglalaman ng isa o higit pang derivatives. Depende sa bilang ng mga independyenteng variable, ang mga differential equation ay nahahati sa dalawang kategorya.

    Ordinary differential equation (ODE)

    Mga partial differential equation.

Ang mga ordinaryong differential equation ay ang mga equation na naglalaman ng isa o higit pang mga derivatives ng nais na function. Maaari silang isulat bilang

malayang baryabol

Ang pinakamataas na pagkakasunud-sunod na kasama sa equation (1) ay tinatawag na order ng differential equation.

Ang pinakasimpleng (linear) na ODE ay ang equation (1) ng order na naresolba na may kinalaman sa derivative

Ang isang solusyon sa differential equation (1) ay anumang function na, pagkatapos ng pagpapalit nito sa equation, ginagawa itong isang pagkakakilanlan.

Ang pangunahing problema na nauugnay sa linear ODE ay kilala bilang ang problema sa Kasha:

Maghanap ng solusyon sa equation (2) sa anyo ng isang function na nagbibigay-kasiyahan sa paunang kondisyon (3)

Sa geometrically, nangangahulugan ito na kinakailangan upang mahanap ang integral curve na dumadaan sa punto ) kapag ang pagkakapantay-pantay (2) ay nasiyahan.

Numerical mula sa punto ng view ng problema sa Kasha ay nangangahulugang: kinakailangan na bumuo ng isang talahanayan ng mga halaga ng function na nagbibigay-kasiyahan sa equation (2) at ang paunang kondisyon (3) sa isang segment na may isang tiyak na hakbang. Karaniwang pinaniniwalaan na mayroon paunang kondisyon tinukoy sa kaliwang dulo ng segment.

Ang pinakasimpleng numerical na paraan para sa paglutas ng differential equation ay ang Euler method. Ito ay batay sa ideya ng graphical na pagbuo ng isang solusyon sa isang differential equation, ngunit ang pamamaraang ito ay nagbibigay din ng isang paraan upang mahanap ang nais na function sa numerical form o sa isang talahanayan.

Hayaang ibigay ang equation (2) na may paunang kondisyon, iyon ay, ang problema sa Kasha ay naipakita. Solusyonan muna natin ang sumusunod na problema. Hanapin sa pinakasimpleng paraan ang tinatayang halaga ng solusyon sa isang tiyak na punto kung saan medyo maliit na hakbang. Ang equation (2) kasama ang paunang kondisyon (3) ay tumutukoy sa direksyon ng tangent ng nais na integral curve sa puntong may mga coordinate

Ang tangent equation ay may anyo

Sa paglipat sa tangent na ito, nakakakuha tayo ng tinatayang halaga ng solusyon sa punto:

Ang pagkakaroon ng isang tinatayang solusyon sa isang punto, maaari mong ulitin ang naunang inilarawan na pamamaraan: bumuo ng isang tuwid na linya na dumadaan sa puntong ito na may isang angular coefficient, at mula dito hanapin ang tinatayang halaga ng solusyon sa punto

. Tandaan na ang linyang ito ay hindi padaplis sa tunay na integral curve, dahil ang punto ay hindi magagamit sa amin, ngunit kung ito ay sapat na maliit, ang magreresultang tinatayang mga halaga ay magiging malapit sa eksaktong mga halaga ng solusyon.

Sa pagpapatuloy ng ideyang ito, bumuo tayo ng isang sistema ng pantay na pagitan ng mga puntos

Pagkuha ng isang talahanayan ng mga halaga ng kinakailangang pag-andar

Ang pamamaraan ni Euler ay binubuo ng paikot na paglalapat ng formula

Figure 1. Graphical na interpretasyon ng pamamaraan ni Euler

Ang mga pamamaraan para sa numerical integration ng mga differential equation, kung saan ang mga solusyon ay nakuha mula sa isang node patungo sa isa pa, ay tinatawag na hakbang-hakbang. Ang pamamaraan ni Euler ay ang pinakasimpleng kinatawan ng mga hakbang-hakbang na pamamaraan. Ang isang tampok ng anumang hakbang-hakbang na pamamaraan ay na simula sa pangalawang hakbang, ang paunang halaga sa formula (5) ay tinatayang mismo, iyon ay, ang error sa bawat kasunod na hakbang ay sistematikong tumataas. Ang pinakaginagamit na paraan para sa pagtatasa ng katumpakan ng sunud-sunod na mga pamamaraan para sa tinatayang numerical na solusyon ng mga ODE ay ang paraan ng pagpasa ng isang partikular na segment nang dalawang beses na may isang hakbang at may isang hakbang.

1.1 Pinahusay na paraan ng Euler

Ang pangunahing ideya ng pamamaraang ito: ang susunod na halaga na kinakalkula ng formula (5) ay magiging mas tumpak kung ang halaga ng derivative, iyon ay, ang angular coefficient ng tuwid na linya na pinapalitan ang integral curve sa segment, ay hindi kinakalkula kasama ang kaliwang gilid (iyon ay, sa punto), ngunit sa gitna ng segment. Ngunit dahil ang halaga ng derivative sa pagitan ng mga puntos ay hindi kinakalkula, lumipat kami sa dobleng mga seksyon na may gitna, kung saan ang punto ay, at ang equation ng tuwid na linya ay tumatagal ng anyo:

At ang formula (5) ay kumukuha ng form

Ang formula (7) ay inilapat lamang para sa , samakatuwid, ang mga halaga ay hindi maaaring makuha mula dito, samakatuwid sila ay matatagpuan gamit ang pamamaraan ni Euler, at upang makakuha ng isang mas tumpak na resulta ay ginagawa nila ito: mula sa simula, gamit ang formula (5) mahanap nila ang halaga

(8)

Sa punto at pagkatapos ay natagpuan ayon sa formula (7) na may mga hakbang

(9)

Sa sandaling natagpuan ang karagdagang mga kalkulasyon sa ginawa ng formula (7)

Differential system Ang mga equation ay tinatawag na isang sistema ng anyo

kung saan ang x ay ang independiyenteng argumento,

y i - dependent function, ,

y i | x=x0 =y i0 - mga paunang kondisyon.

Mga pag-andar yi(x), sa pagpapalit, ang sistema ng mga equation ay nagiging isang pagkakakilanlan ay tinatawag paglutas ng isang sistema ng mga differential equation.

Numerical na pamamaraan paglutas ng mga sistema ng mga differential equation.


Pangalawang order differential equation tinatawag na equation ng form



Ang function na y(x), sa pagpapalit kung saan ang equation ay naging isang pagkakakilanlan, ay tinatawag paglutas ng differential equation.

Ang isang partikular na solusyon sa equation (2) ay hinahanap ayon sa numero, na nakakatugon sa ibinigay na mga paunang kondisyon, iyon ay, ang problemang Cauchy ay nalutas.

Para sa isang numerical na solusyon, ang isang second-order differential equation ay binago sa isang sistema ng dalawang first-order differential equation at binabawasan sa view ng makina (3). Upang gawin ito, ang isang bagong hindi kilalang function ay ipinakilala, sa kaliwang bahagi ng bawat equation ng system lamang ang mga unang derivatives ng hindi kilalang mga function ang natitira, at dapat walang mga derivatives sa kanang bahagi.

. (3)


Ang function na f 2 (x, y 1 , y) ay pormal na ipinakilala sa system (3) upang ang mga pamamaraan na ipapakita sa ibaba ay magagamit upang malutas ang isang arbitraryong sistema ng first-order differential equation. Isaalang-alang natin ang ilang mga numerical na pamamaraan para sa paglutas ng system (3). Ang mga kalkuladong dependencies para sa i+1 na hakbang sa pagsasama ay ang mga sumusunod. Upang malutas ang isang sistema ng n equation, ang mga formula ng pagkalkula ay ibinigay sa itaas. Upang malutas ang isang sistema ng dalawang equation, maginhawang isulat ang mga formula ng pagkalkula nang walang dobleng mga indeks sa sumusunod na anyo:

  1. Paraan ng Euler.

    y 1,i+1 =y 1,i +hf 1 (x i , y 1,i , y i),

    y i+1 =y i +hf 2 (x i, y 1,i, y i),

  2. Ika-apat na order na paraan ng Runge-Kutta.

    y 1,i+1 =y 1,i +(m 1 +2m 2 +2m 3 +m 4)/6,

    y i+1 =y i +(k 1 +2k 2 +2k 3 +k 4)/6,

    m 1 =hf 1 (x i , y 1,i , y i),

    k 1 =hf 2 (x i , y 1,i , y i),

    m 2 =hf 1 (x i +h/2, y 1,i +m 1 /2, y i +k 1/2),

    k 2 =hf 2 (x i +h/2, y 1,i +m 1 /2, y i +k 1/2),

    m 3 =hf 1 (x i +h/2, y 1,i +m 2 /2, y i +k 2/2),

    k 3 =hf 2 (x i +h/2, y 1,i +m 2 /2, y i +k 2 /2),

    m 4 =hf 1 (x i +h, y 1,i +m 3, y i +k 3),

    k 4 =hf 2 (x i +h, y 1,i +m 3, y i +k 3),

    kung saan ang h ay ang hakbang ng pagsasama. Ang mga unang kundisyon sa panahon ng pagsasama ng numero ay isinasaalang-alang sa zero na hakbang: i=0, x=x 0, y 1 =y 10, y=y 0.

Pagsubok na gawain para sa gawaing pautang.

Mga oscillation na may isang antas ng kalayaan

Target. Pag-aaral ng mga numerical na pamamaraan para sa paglutas ng second order differential equation at system ng first order differential equation.

Mag-ehersisyo. Maghanap ayon sa numero at analytical:

  1. batas ng paggalaw materyal na punto sa isang spring x(t),
  2. ang batas ng pagbabago sa kasalukuyang I(t) sa oscillatory circuit (RLC circuit) para sa mga mode na tinukoy sa Talahanayan 1 at 2. Bumuo ng mga graph ng mga kinakailangang function.

Mga pagpipilian para sa mga gawain.


Mode table



Mga opsyon sa gawain at numero ng mode:

  1. paggalaw ng punto
  2. RLC - circuit


Isaalang-alang natin nang mas detalyado ang pamamaraan para sa pagbuo ng mga differential equation at pagdadala ng mga ito sa anyo ng makina upang ilarawan ang paggalaw ng isang katawan sa isang spring at isang RLC circuit.


  1. Pamagat, layunin ng trabaho at gawain.
  2. Deskripsyon ng matematika, algorithm (structogram) at teksto ng programa.
  3. Anim na graph ng dependence (tatlong eksakto at tatlong tinatayang) x(t) o I(t), mga konklusyon sa trabaho.

Ipaalam sa amin ang dynamic na sequence ng input X(input signal) at modelo (paraan ng pag-convert ng input signal sa output signal). Isinasaalang-alang namin ang problema sa pagtukoy ng output signal y(t) (tingnan ang Fig. 10.1).

Ang isang modelo ng isang dynamic na sistema ay maaaring katawanin ng isang differential equation. Pangunahing equation ng dynamics:

y" = f(x(t), y(t), t) .

Ang mga paunang kondisyon sa oras na zero ay kilala t 0 : y(t 0) , x(t 0) . Upang matukoy ang output signal, tandaan na sa pamamagitan ng kahulugan ng derivative:

Alam natin ang posisyon ng system sa puntong "1"; kailangan nating tukuyin ang posisyon ng system sa puntong "2". Ang mga puntos ay pinaghihiwalay mula sa bawat isa sa pamamagitan ng isang distansya Δ t(Larawan 10.2). Iyon ay, ang pag-uugali ng system ay kinakalkula nang hakbang-hakbang. Mula sa puntong "1" tumalon kami (discretely) hanggang sa "2", ang distansya sa pagitan ng mga punto sa kahabaan ng axis t tinawag hakbang sa pagkalkula Δ t .

kanin. 10.2. Ilustrasyon ng pagkalkula ng hinaharap na estado ng system
Ang pamamaraan ni Euler sa isang hakbang

Ang huling formula ay tinatawag na Euler's formula.

Malinaw, upang malaman ang estado ng sistema sa hinaharap y(t + Δ t) , ito ay kinakailangan sa kasalukuyang estado ng system y(t) magdagdag ng pagbabago Δ y, lumipas sa panahon Δ t .

Isaalang-alang natin muli ang mahalagang relasyong ito, na nagmula sa mga geometriko na pagsasaalang-alang (Larawan 10.3).

kanin. 10.3. Geometric na paglalarawan ng pamamaraan ni Euler

Hayaan ang A ang punto kung saan nalalaman ang estado ng sistema. Ito ang "tunay" na estado ng sistema.

Sa punto A, gumuhit kami ng tangent sa trajectory ng system. Ang Tangent ay ang derivative ng isang function f(x(t), y(t), t) sa pamamagitan ng variable t. Ang derivative sa isang punto ay palaging madaling kalkulahin; ito ay sapat na upang palitan ang mga kilalang variable (sa sandaling "Kasalukuyan" sila ay kilala) sa formula y" = f(x(t), y(t), t) .

Tandaan na, sa pamamagitan ng kahulugan, ang derivative ay nauugnay sa anggulo ng pagkahilig ng tangent: y" = tg( α ) , na nangangahulugang anggulo α madaling kalkulahin ( α = arctan( y" ) ) at gumuhit ng tangent.

Gumuhit ng tangent hanggang sa mag-intersect ito sa linya t + Δ t. sandali t + Δ t tumutugma sa "hinaharap" na estado ng sistema. Gumuhit ng isang linya parallel sa axis t mula sa punto A hanggang sa intersection sa linya t + Δ t. Ang mga linya ay bumubuo ng isang tamang tatsulok na ABC, isang gilid nito ay katumbas ng Δ t(sikat). Kilala rin ang anggulo α . Pagkatapos ang pangalawang binti sa hugis-parihaba tatsulok ABC katumbas ng: a = Δ t tg( α ) . Ngayon ay madaling kalkulahin ang ordinate ng point B. Ito ay binubuo ng dalawang segment y(t) At a. Ang ordinate ay sumisimbolo sa posisyon ng system sa isang punto y(t + Δ t) . Yan ay y(t + Δ t) = y(t) + a o higit pa y(t + Δ t) = y(t) + Δ t tg( α ) o, kapalit pa, mayroon kaming: y(t + Δ t) = y(t) + Δ t · y" at sa wakas y(t + Δ t) = y(t) + Δ t · f(x(t), y(t), t) . Muli naming nakuha ang formula ni Euler (mula sa geometric na pagsasaalang-alang).

Ang formula na ito ay maaari lamang magbigay ng tumpak na mga resulta para sa napakaliit na Δ t(sinabi sa Δ t>0). Sa Δ t≠0 ang formula ay nagbibigay ng pagkakaiba sa pagitan ng tunay na halaga y at kalkulado, pantay ε , samakatuwid dapat itong maglaman ng tinatayang equality sign, o dapat itong isulat nang ganito:

y(t + Δ t) = y(t) + Δ t · f(x(t), y(t), t) + ε .

Sa totoo lang. Tingnan muli ang Fig. 10.3. Ilipat natin ang linya t + Δ t sa kaliwa (sa katunayan, dadalhin namin ang halaga ng Δ na mas malapit t sa zero). Tulad ng madaling makita, distansya BB * = ε , iyon ay isang error! ay mababawasan. Sa limitasyon (sa Δ t>0) halaga ng error ε ay magiging katumbas ng zero.

Kaya, pinapalitan ang totoong curve ng isang tuwid na linya (tangent) sa segment na Δ t, ipinakilala namin ang isang error sa solusyon, na nagtatapos hindi sa puntong "2" (tingnan ang Fig. 10.2), ngunit malapit, sa puntong "3". Malinaw, ang numerical na paraan na ito ay may error sa pagkalkula sa bawat hakbang ε .

Makikita mula sa pigura na mas maliit ang halaga ng Δ t, mas magiging maliit ang error sa pagkalkula ε . Iyon ay, upang kalkulahin ang pag-uugali ng system sa anumang mahabang panahon (halimbawa, mula sa t 0 hanggang t k) upang bawasan ang error sa bawat hakbang, mga hakbang Δ t panatilihin itong maliit hangga't maaari. Upang maabot ang punto t k segment ng linya (t k – t 0) nahahati sa mga segment ng haba Δ t; sa ganitong paraan magiging maayos ang lahat N = (t k – t 0)/Δ t hakbang. Bilang resulta ng pagkalkula, kakailanganin mong ilapat ang formula ni Euler para sa bawat hakbang, iyon ay N minsan. Ngunit tandaan na ang mga pagkakamali ε i sa bawat i-ika-hakbang (sa pinakasimpleng kaso) sila ay nagdaragdag, at ang kabuuang error ay mabilis na naipon (tingnan ang Fig. 10.4). At ito ay isang makabuluhang disbentaha ng pamamaraang ito. Bagama't gamit ang paraang ito, posibleng makakuha (sa numerical form) ng solusyon sa anumang differential equation (kabilang ang mga analytically unsolvable). Sa pamamagitan ng pagbabawas ng hakbang, nakakakuha kami ng mas tumpak na mga solusyon, ngunit hindi namin dapat kalimutan na ang pagtaas ng bilang ng mga hakbang ay humahantong sa mga gastos sa pagkalkula at pagbaba ng pagganap. Bilang karagdagan, kapag Malaking numero mga pag-ulit, isa pang makabuluhang error ang ipinakilala sa pagkalkula dahil sa limitadong katumpakan ng mga computer at mga error sa pag-round.

kanin. 10.4. Ang pagtaas ng kabuuang error sa pamamaraan ni Euler sa ilang hakbang

Gawain 1. Nabigyan ng differential equation y" = 2ty . Ang paunang posisyon ng system ay nakatakda: y(0) = 1 . Kailangang hanapin y(t), iyon ay, ang pag-uugali ng system sa pagitan ng oras t mula 0 hanggang 1.

Analytical na pamamaraan para sa paglutas ng problema 1

y" = 2ty .

Gamit ang paraan ng paghihiwalay ng mga variable na nakikita namin:

y" /y = 2t

Isasama namin mula 0 hanggang t i, pagkatapos ay ayon sa mga patakaran ng pagsasama mayroon kaming:

Ang nagresultang analytical na solusyon ay nailalarawan sa pamamagitan ng katotohanan na ito ay ganap na tumpak, ngunit kung ang equation ay lumabas na anumang kumplikado, kung gayon ang solusyon ay hindi mahahanap. Ang analytical na solusyon ay hindi pangkalahatan.

Numerical na paraan para sa paglutas ng problema 1

Ipinapalagay ng numerical na paraan ng solusyon na ang pagkalkula ay isasagawa ayon sa Euler formula sa ilang sunud-sunod na hakbang. Sa bawat hakbang, ang solusyon ay may sariling error (tingnan ang Fig. 10.2), dahil sa bawat hakbang ang curve ay pinalitan ng isang tuwid na segment.

Sa isang algorithmic na pagpapatupad, ang pagkalkula ay ipinatupad sa isang cycle kung saan ang t(counter t) At y :

Ang block diagram para sa pagpapatupad ng pamamaraan sa isang computer ay ipinapakita sa Fig. 10.5.

kanin. 10.5. Block diagram ng pagpapatupad ng pamamaraan ni Euler

Sa pagpapatupad ng Stratum, magiging ganito ang talaan (ang pagkakaroon ng simbolo na “~” kapag t ):

Hanapin natin ang halaga y dating itinuturing na halimbawa sa numerical form sa pagitan mula sa T= 0 hanggang T= 1 . Gawin natin ang bilang ng mga hakbang n= 10, pagkatapos ay ang increment na hakbang Δ t magiging: Δ t= (1 0)/ n= (1 0)/10 = 0.1.

Talahanayan 10.1.
Numerical na pagkalkula ng equation sa pamamagitan ng Euler method
at paghahambing ng resulta sa eksaktong solusyon sa bawat hakbang
i t i y i = y i 1 + y" i 1 · Δ t y" i = 2t i · y i Δ y i = y" i · Δ t y i + 1 = y i + Δ y i y eksakto = exp( t i 2)
0 0.0 1 0 0 1 1
1 0.1 1 0.2 0.02 1.02 1.0101
2 0.2 1.02 0.408 0.0408 1.0608 1.0408
3 0.3 1.061 0.636 0.0636 1.1246 1.0942
4 0.4 1.124 0.900 0.0900 1.2140 1.1735
5 0.5 1.214 1.214 0.1214 1.3354 1.2840
6 0.6 1.336 1.603 0.1603 1.4963 1.4333
7 0.7 1.496 2.095 0.2095 1.7055 1.6323
8 0.8 1.706 2.729 0.2729 1.9789 1.8965
9 0.9 1.979 3.561 0.3561 2.3351 2.2479
10 1.0 2.335 4.669 0.4669 2.8019 2.7183

Pakitandaan na ang halagang kinakalkula ayon sa numero ( y i+ 1 ) ay iba sa eksaktong ( y eksakto ), at error (pagkakaiba ng mga column y i+ 1 at y eksakto ) ay tumataas sa panahon ng proseso ng pagkalkula sa parehong paraan tulad ng ipinapakita sa Fig. 10.4.

Ngayon kalkulahin natin ang kamag-anak na error σ para sa kinakalkula na halaga y(1) nakuha ayon sa numero, kung ihahambing sa teoretikal na eksaktong y teorya ayon sa sumusunod na formula:

σ = (1 y calc. / y teoretikal) · 100%

at ihambing σ sa iba't ibang halaga ng Δ t .

Kung babaguhin natin ang halaga ng hakbang na Δ t, halimbawa, bawasan ang hakbang, pagkatapos ay bababa din ang relatibong error sa pagkalkula. Ito ang makukuha mo kapag kinakalkula ang halaga y(1) kasama iba't ibang kahulugan hakbang (tingnan ang Talahanayan 10.2).

Talahanayan 10.2.
Error dependence
pagkalkula batay sa laki ng hakbang Δ t
Δ t y calc. (1) y teorya (1) σ
1/10 2.3346 2.7183 14%
1/20 2.5107 2.7183 8%
1/100 2.6738 2.7183 2%

Tulad ng nakikita natin, sa pagbaba ng pagtaas ng hakbang Δ t bumababa ang kamag-anak na error, na nangangahulugang tumataas ang katumpakan ng pagkalkula.

Pakitandaan na ang pagbabago ng hakbang nang 10 beses (mula 1/10 hanggang 1/100) ay humahantong sa pagbabago sa halaga ng error nang humigit-kumulang 10 beses (mula 14% hanggang 2%). Kapag binago ang hakbang nang 100 beses, humigit-kumulang bababa din ng 100 beses ang error. Sa madaling salita, ang laki ng hakbang at error para sa pamamaraang Euler ay magkakaugnay na magkakaugnay. Kung gusto mong bawasan ang error ng 10 beses, bawasan ang hakbang ng 10 beses at dagdagan ang bilang ng mga kalkulasyon nang naaayon ng 10 beses. Ang katotohanang ito sa matematika ay karaniwang tinutukoy ng simbolo ε = Ot) , at ang pamamaraan ni Euler ay tinatawag na paraan ng katumpakan ng unang pagkakasunud-sunod.

Dahil sa paraan ng Euler ang error ay medyo malaki at naiipon mula sa hakbang hanggang hakbang, at ang katumpakan ay proporsyonal sa bilang ng mga kalkulasyon, ang pamamaraan ng Euler ay karaniwang ginagamit para sa magaspang na mga kalkulasyon, upang suriin ang pag-uugali ng system sa prinsipyo. Para sa tumpak na mga kalkulasyon ng dami, mas tumpak na mga pamamaraan ang ginagamit.

Mga Tala

  1. Ang bawat numerical na paraan ay may katumpakan dahil ang resulta ay naiiba sa teoretikal. Ang katumpakan ng pamamaraan ay depende sa laki ng hakbang. Ang iba't ibang mga pamamaraan ay may iba't ibang katumpakan. Ang pagkakasunud-sunod ng pagtitiwala ng katumpakan sa laki ng hakbang ay tinutukoy bilang O(h). Ang pamamaraan ng Euler ay may katumpakan sa unang pagkakasunud-sunod, at ang pag-asa ng error sa laki ng hakbang ay linear.
  2. Kung, kapag binabawasan ang hakbang, ang limitasyon y n nagsusumikap para sa kahulugan y teorya , pagkatapos ay sinasabing ang pamamaraan ay nagtatagpo. Interesado ang mga mananaliksik sa bilis ng convergence ng pamamaraan.
  3. Ang pamamaraan ay dapat na napapanatiling. Ang katatagan ay nauugnay sa isang partikular na kritikal na laki ng hakbang. Kapag nangyari ang kawalang-tatag, mayroong isang kumpletong pagbaluktot ng husay na larawan ng pagkalkula, isang "kaluwagan" ng resulta.
  4. Kapag pumipili ng isang paraan, inirerekomenda na unang makamit ang katatagan, at sa loob ng rehiyon ng katatagan, ang tagpo ng resulta. Tinitiyak ng katatagan ang isang de-kalidad na larawan. Nagbibigay ang convergence ng quantitative na resulta (tingnan din ang Fig. 10.10).

Itakda sa mga talata. Ipaliwanag natin ang 1-4 na may isang halimbawa.

Halimbawa. Hayaan

Qualitatively, inilalarawan ng mga equation na ito ang proseso ng pagpapalitan ng init sa pagitan ng dalawang katawan, ang mga temperatura kung saan sa ilang mga punto sa oras ay tinutukoy bilang A At B. Sa lahat A At B mga variable na nag-iiba-iba ng oras t. Ang paghahanap ng gawi ng system ay nangangahulugan na kailangan mong hanapin kung paano magbabago ang mga temperatura A(t) At B(t) .

Ito ay intuitively malinaw na sa paunang temperatura pagkakaiba A= 8 at B= 5 ang temperatura ng katawan ay dapat na unti-unting tumataas sa paglipas ng panahon, dahil ang isang mas mainit na katawan ay magbibigay ng enerhiya sa isang mas malamig, at ang temperatura nito ay bababa, at isang mas malamig na katawan ay makakatanggap ng enerhiya mula sa isang mas mainit, at ang temperatura nito ay tataas. Ang proseso ng pagpapalitan ng init ay magtatapos (iyon ay, ang mga pagbabago ay titigil) kapag ang temperatura ng dalawang katawan ay naging pareho.

Gumawa tayo ng ilang pagkalkula ng pag-uugali A(t) At B(t) na may iba't ibang laki ng hakbang Δ t .

Magsasagawa kami ng iba't ibang laki ng hakbang Δ t at hanapin ang mga katumbas na halaga A At B sa oras ayon sa mga sumusunod na formula ng Euler:

A bago = A prev + ( B prev ¶ A nakaraan.) Δ t ,
B bago = B prev + ( A prev ¶ B nakaraan.) Δ t .

Pagkalkula sa Δ t= 2 (Talahanayan 10.3).

Ang phenomenon ng "looseness" ay sinusunod (tingnan ang Fig. 10.6). Hindi napapanatiling solusyon. Mula sa pisikal na pagsasaalang-alang ay malinaw na ang dalawang katawan ay hindi maaaring kumilos sa ganitong paraan sa proseso ng pagpapalitan ng init.

kanin. 10.6. Ang sistema ay kumikilos nang maayos
mali. Ang solusyon ay hindi matatag

Pagkalkula sa Δ t= 1 (Talahanayan 10.4).

Talahanayan 10.4.
Pagbabago ng temperatura
katawan sa numerical
pagkalkula sa mga hakbang ng 1

hakbang
t A B
0 0 8 5
1 1 5 8
2 2 8 5

Ang pag-uugali ng solusyon ng system sa hangganan ng katatagan ay sinusunod (tingnan ang Fig. 10.7).

kanin. 10.7. Ang sistema ay kumikilos nang maayos
mali. Ang solusyon ay nasa bingit ng pagpapanatili

Pagkalkula sa Δ t= 0.5 (Talahanayan 10.5).

Talahanayan 10.5.
Pagbabago ng temperatura
katawan sa numerical
pagkalkula sa mga pagtaas ng 0.5

hakbang
t A B
0 0 8 5
1 0.5 6.5 6.5
2 1.0 6.5 6.5

Ang solusyon ay matatag at tumutugma sa tamang larawan ng husay (tingnan ang Fig. 10.8). Ang temperatura ng katawan ay unti-unting lumalapit sa isa't isa at nagiging pareho sa paglipas ng panahon. Ngunit ang solusyon ay mayroon pa ring malaking error.

kanin. 10.8. Ang sistema ay kumikilos nang tama sa husay.
Ang solusyon (pag-uugali ng system) ay may malaking error

Pagkalkula sa Δ t= 0.1 (Talahanayan 10.6).

Talahanayan 10.6.
Pagbabago ng temperatura
katawan sa numerical
pagkalkula sa mga pagtaas ng 0.1

hakbang
t A B
0 0 8 5
1 0.1 7.7 5.3
2 0.2 7.46 5.54
3 0.3 7.27 5.73
4 0.4 7.12 5.88
5 0.5 7.00 6.00

Ang solusyon ay matatag. Ang solusyon ay mas tumpak (tingnan ang Fig. 10.9).

kanin. 10.9. Ang sistema ay kumikilos nang tama sa husay.
Ang dami ng solusyon ay mas tumpak

Ang papel ng pagbabago ng laki ng hakbang ay inilalarawan sa Fig. 10.10.

kanin. 10.10. Ang kaugnayan sa pagitan ng laki ng hakbang sa pagkalkula at ang katatagan ng pamamaraan at ang katumpakan nito (gamit ang isang halimbawa)

Department of Physical Chemistry SFU (RSU)
NUMERIKAL NA PARAAN AT PROGRAMMING
Mga materyales para sa kursong panayam
Lektor – Art. Sinabi ni Rev. Shcherbakov I.N.

SOLUSYON NG ORDINARYONG DIFFERENTIAL EQUATIONS

Pagbubuo ng problema

Kapag nilulutas ang mga problemang pang-agham at inhinyero, kadalasang kinakailangan na mathematically ilarawan ang ilang dynamic na sistema. Pinakamabuting gawin ito sa anyo ng mga differential equation ( DU) o mga sistema ng differential equation. Kadalasan, ang problemang ito ay lumitaw kapag nilulutas ang mga problema na may kaugnayan sa pagmomolde ng kinetics mga reaksiyong kemikal at iba't ibang transfer phenomena (init, masa, momentum) - pagpapalitan ng init, paghahalo, pagpapatayo, adsorption, kapag inilalarawan ang paggalaw ng macro- at microparticle.

Ordinaryong differential equation(ODE) ng nth order ay ang sumusunod na equation, na naglalaman ng isa o higit pang mga derivatives ng gustong function na y(x):

Dito y(n) nagsasaad ng derivative ng order n ng ilang function na y(x), x ang independent variable.

Sa ilang mga kaso, ang isang differential equation ay maaaring ibahin sa anyo kung saan ang pinakamataas na derivative ay tahasang ipinahayag. Ang anyo ng notasyong ito ay tinatawag na equation, nalutas na may kinalaman sa pinakamataas na derivative(sa kasong ito, ang pinakamataas na derivative ay wala sa kanang bahagi ng equation):

Ito ang paraan ng pag-record na tinatanggap bilang pamantayan kapag isinasaalang-alang ang mga numerical na pamamaraan para sa paglutas ng mga ODE.

Linear differential equation ay isang equation na linear na may kinalaman sa function na y(x) at lahat ng derivatives nito.

Halimbawa, sa ibaba ay mga linear na ODE una at pangalawang order

Paglutas ng isang ordinaryong differential equation ay isang function na y(x) na, para sa alinmang x, natutugunan ang equation na ito sa isang tiyak na may hangganan o walang katapusan na pagitan. Ang proseso ng paglutas ng isang differential equation ay tinatawag sa pamamagitan ng pagsasama ng differential equation.

Pangkalahatang solusyon ng ODE Ang nth order ay naglalaman ng n arbitrary constants C 1 , C 2 , …, C n

Ito ay malinaw na sumusunod mula sa katotohanan na hindi tiyak na integral katumbas ng antiderivative ng integrand kasama ang constant ng integration

Dahil kailangan ang n integrations upang malutas ang nth-order differential equation, lumilitaw ang n integration constant sa pangkalahatang solusyon.

Pribadong solusyon Ang ODE ay nakuha mula sa pangkalahatan kung ang mga constant ng pagsasama ay binibigyan ng ilang mga halaga sa pamamagitan ng pagtukoy ng ilang karagdagang mga kondisyon, ang bilang nito ay nagpapahintulot sa amin na kalkulahin ang lahat ng hindi tiyak na mga constant ng pagsasama.

Eksaktong (analytical) na solusyon (pangkalahatan o partikular) ng isang differential equation ay nagpapahiwatig ng pagkuha ng nais na solusyon (function y(x)) sa anyo ng isang expression mula sa elementarya function. Hindi ito laging posible kahit para sa mga first-order equation.

Numerical na solusyon Ang DE (quotient) ay binubuo sa pagkalkula ng function na y(x) at mga derivatives nito sa ilan binigay na puntos, nakahiga sa isang partikular na segment. Iyon ay, sa katunayan, ang solusyon sa isang nth-order differential equation ng form ay nakuha sa anyo ng sumusunod na talahanayan ng mga numero (ang hanay ng mga halaga ng pinakamataas na derivative ay kinakalkula sa pamamagitan ng pagpapalit ng mga halaga sa equation):

Halimbawa, para sa isang first-order differential equation, ang talahanayan ng solusyon ay magkakaroon ng dalawang column - x at y.

Ang hanay ng mga halaga ng abscissa kung saan tinutukoy ang halaga ng isang function ay tinatawag mesh, kung saan tinukoy ang function na y(x). Ang mga coordinate mismo ay tinatawag mga grid node. Kadalasan, para sa kaginhawahan, ginagamit ang mga ito pare-parehong grids, kung saan ang pagkakaiba sa pagitan ng mga kalapit na node ay pare-pareho at tinatawag grid spacing o hakbang ng pagsasama differential equation

o kaya , i= 1, …, N

Para sa pagtukoy pribadong solusyon kinakailangang magtakda ng mga karagdagang kundisyon na magpapahintulot na makalkula ang mga constant ng integration. Bukod dito, dapat mayroong eksaktong mga kondisyon. Para sa mga first order equation - isa, para sa pangalawa - 2, atbp. Depende sa paraan ng pagtukoy sa mga ito kapag nilulutas ang mga differential equation, mayroong tatlong uri ng mga problema:

· Cauchy problem (paunang problema): Kailangang maghanap ng ganito pribadong solusyon differential equation na nakakatugon sa tiyak paunang kondisyon na tinukoy sa isang punto:

ibig sabihin, ang isang tiyak na halaga ng independiyenteng variable (x 0), at ang halaga ng function at lahat ng mga derivative nito hanggang sa pagkakasunud-sunod (n-1) sa puntong ito ay ibinibigay. Ang puntong ito (x 0) ay tinatawag pangunahin. Halimbawa, kung ang isang 1st order DE ay nilulutas, ang mga unang kundisyon ay ipinahayag bilang isang pares ng mga numero (x 0 , y 0)

Ang ganitong uri ng problema ay nangyayari kapag nilulutas ODE, na naglalarawan, halimbawa, ang kinetika ng mga reaksiyong kemikal. Sa kasong ito, ang mga konsentrasyon ng mga sangkap sa unang sandali ng oras ay kilala ( t = 0), at kinakailangan upang mahanap ang mga konsentrasyon ng mga sangkap pagkatapos ng isang tiyak na tagal ng panahon ( t). Bilang halimbawa, maaari rin nating banggitin ang problema ng paglipat ng init o paglipat ng masa (pagsasabog), ang equation ng paggalaw ng isang materyal na punto sa ilalim ng impluwensya ng mga puwersa, atbp.

· Problema sa hangganan ng halaga . Sa kasong ito, ang mga halaga ng function at (o) ang mga derivatives nito ay kilala sa higit sa isang punto, halimbawa, sa una at huling sandali ng oras, at ito ay kinakailangan upang makahanap ng isang partikular na solusyon sa differential equation. sa pagitan ng mga puntong ito. Ang mga karagdagang kundisyon mismo sa kasong ito ay tinatawag rehiyonal (hangganan) kundisyon. Natural, ang problema sa boundary value ay malulutas para sa mga ODE na hindi bababa sa 2nd order. Nasa ibaba ang isang halimbawa ng pangalawang-order na ODE na may mga kundisyon sa hangganan (ibinigay ang mga halaga ng function sa dalawang magkaibang punto):

· Problema sa Sturm-Liouville (problema sa eigenvalue). Ang mga problema ng ganitong uri ay katulad ng mga problema sa halaga ng hangganan. Kapag nilulutas ang mga ito, kinakailangan upang mahanap kung anong mga halaga ng anumang parameter ang solusyon DU natutugunan ang mga kundisyon sa hangganan (eigenvalues) at mga function na solusyon sa DE para sa bawat value ng parameter (eigenfunctions). Halimbawa, maraming problema sa quantum mechanics ang eigenvalue problem.

Numerical na pamamaraan para sa paglutas ng Cauchy na problema ng first-order ODE

Isaalang-alang natin ang ilang mga numerical na pamamaraan para sa paglutas Cauchy problema(paunang problema) ordinaryong kaugalian equation ng unang order. Isulat natin ang equation na ito pangkalahatang pananaw, nalutas nang may kinalaman sa derivative (ang kanang bahagi ng equation ay hindi nakadepende sa unang derivative):

(6.2)

Kinakailangang hanapin ang mga halaga ng function na y sa mga ibinigay na punto ng grid kung ang mga paunang halaga ay kilala, kung saan mayroong halaga ng function na y(x) sa paunang punto x 0.

Ibahin natin ang equation sa pamamagitan ng pag-multiply sa d x

At isinasama namin ang kaliwa at kanang bahagi sa pagitan ng i-th at i+ 1st grid node.

(6.3)

Nakuha namin ang isang expression para sa pagbuo ng isang solusyon sa i+1 integration node sa pamamagitan ng mga halaga ng x at y sa i-th grid node. Ang kahirapan, gayunpaman, ay nakasalalay sa katotohanan na ang integral sa kanang bahagi ay ang integral ng isang implicitly na ibinigay na function, na makikita sa analytical form sa pangkalahatang kaso imposible. Numerical na pamamaraan para sa paglutas ng mga ODE sa iba't ibang paraan tantiyahin (ilapit) ang halaga ng integral na ito upang makabuo ng mga formula para sa numerical integration ng mga ODE.

Sa maraming mga pamamaraan na binuo para sa paglutas ng mga first-order na ODE, isinasaalang-alang namin ang mga pamamaraan , at . Ang mga ito ay medyo simple at nagbibigay ng isang paunang ideya ng mga diskarte sa paglutas ng problemang ito sa loob ng balangkas ng isang numerical na solusyon.

Paraan ng Euler

Sa kasaysayan, ang una at pinakasimpleng paraan upang malutas ang problema sa Cauchy para sa mga first-order na ODE ay ang paraan ng Euler. Ito ay batay sa approximation ng derivative sa pamamagitan ng ratio ng mga may hangganang pagdagdag ng dependent ( y) at malaya ( x) mga variable sa pagitan ng mga node ng pare-parehong grid:

kung saan ang y i+1 ay ang gustong halaga ng function sa punto x i+1.

Kung babaguhin natin ngayon ang equation na ito at isasaalang-alang ang pagkakapareho ng grid ng pagsasama, makakakuha tayo ng isang umuulit na formula kung saan maaari nating kalkulahin y i+1, kung ang y i ay kilala sa punto x i:

Paghahambing ng formula ni Euler sa pangkalahatang pagpapahayag nakuha nang mas maaga, malinaw na para sa tinatayang pagkalkula ng integral sa paraan ng Euler, ang pinakasimpleng formula ng pagsasama ay ginagamit - ang formula ng mga parihaba sa kaliwang gilid ng segment.

Ang graphical na interpretasyon ng pamamaraan ni Euler ay madali din (tingnan ang figure sa ibaba). Sa katunayan, batay sa anyo ng equation na nalulutas (), sumusunod na ang halaga ay ang halaga ng hinango ng function na y(x) sa puntong x=x i - , at, sa gayon, ay katumbas ng tangent ng ang padaplis na anggulo na iginuhit sa graph ng function na y(x) sa puntong x =x i .

Mula sa kanang tatsulok sa larawan ay makikita mo

Dito nagmula ang formula ni Euler. Kaya, ang kakanyahan ng pamamaraan ni Euler ay upang palitan ang function na y(x) sa integration segment na may isang tuwid na linyang padaplis sa graph sa punto x=x i. Kung ang ninanais na pag-andar ay naiiba nang malaki mula sa linear sa segment ng pagsasama, kung gayon ang error sa pagkalkula ay magiging makabuluhan. Ang error ng paraan ng Euler ay direktang proporsyonal sa hakbang ng pagsasama:

Error~h

Ang proseso ng pagkalkula ay nakabalangkas tulad ng sumusunod. Para sa ibinigay na mga paunang kondisyon x 0 At y 0 maaaring kalkulahin

Kaya, ang isang talahanayan ng mga halaga ng function y(x) ay itinayo na may isang tiyak na hakbang ( h) Ni x sa segment. Error sa pagtukoy ng halaga y(x i) sa kasong ito, mas maliit ang piniling haba ng hakbang, mas maliit ito h(na tinutukoy ng katumpakan ng formula ng pagsasama).

Para sa malaking h, ang pamamaraan ni Euler ay napaka hindi tumpak. Nagbibigay ito ng mas tumpak na pagtatantya habang bumababa ang hakbang sa pagsasama. Kung ang segment ay masyadong malaki, pagkatapos ay ang bawat seksyon ay nahahati sa N integration segment at ang Euler formula ay inilapat sa bawat isa sa kanila na may isang hakbang, iyon ay, ang integration step h ay kinuha mas mababa kaysa sa hakbang ng grid kung saan ang solusyon ay determinado.

Halimbawa:

Gamit ang pamamaraan ni Euler, bumuo ng isang tinatayang solusyon para sa sumusunod na problema sa Cauchy:

Sa isang grid na may hakbang na 0.1 sa pagitan (6.5)

Solusyon:

Ang equation na ito ay nakasulat na sa karaniwang anyo, nalutas na may kinalaman sa derivative ng nais na function.

Samakatuwid, para sa equation na nalutas mayroon kami

Gawin natin ang hakbang sa pagsasama na katumbas ng hakbang ng grid h = 0.1. Sa kasong ito, isang value lang ang kakalkulahin para sa bawat grid node (N=1). Para sa unang apat na grid node, ang mga kalkulasyon ay ang mga sumusunod:

Ang buong resulta (tumpak sa ikalimang decimal place) ay ibinibigay sa ikatlong column - h =0.1 (N =1). Para sa paghahambing, ang pangalawang hanay ng talahanayan ay nagpapakita ng mga halaga na kinakalkula mula sa analytical na solusyon ng equation na ito. .

Ang ikalawang bahagi ng talahanayan ay nagpapakita ng kamag-anak na error ng mga solusyon na nakuha. Makikita na sa h =0.1 ang error ay napakalaki, na umaabot sa 100% para sa unang node x =0.1.

Talahanayan 1 Solusyon ng equation sa pamamagitan ng Euler method (para sa mga column, ang integration step at ang bilang ng integration segment N sa pagitan ng mga grid node ay ipinahiwatig)

xtumpak
solusyon
0,1 0,05 0,025 0,00625 0,0015625 0,0007813 0,0001953
1 2 4 16 64 128 512
0 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000 0,000000
0,1 0,004837 0,000000 0,002500 0,003688 0,004554 0,004767 0,004802 0,004829
0,2 0,018731 0,010000 0,014506 0,016652 0,018217 0,018603 0,018667 0,018715
0,3 0,040818 0,029000 0,035092 0,037998 0,040121 0,040644 0,040731 0,040797
0,4 0,070320 0,056100 0,063420 0,066920 0,069479 0,070110 0,070215 0,070294
0,5 0,106531 0,090490 0,098737 0,102688 0,105580 0,106294 0,106412 0,106501
0,6 0,148812 0,131441 0,140360 0,144642 0,147779 0,148554 0,148683 0,148779
0,7 0,196585 0,178297 0,187675 0,192186 0,195496 0,196314 0,196449 0,196551
0,8 0,249329 0,230467 0,240127 0,244783 0,248202 0,249048 0,249188 0,249294
0,9 0,306570 0,287420 0,297214 0,301945 0,305423 0,306284 0,306427 0,306534
1 0,367879 0,348678 0,358486 0,363232 0,366727 0,367592 0,367736 0,367844

Mga kamag-anak na error ng mga kinakalkula na halaga ng function para sa iba't ibang h

x h 0,1 0,05 0,025 0,00625 0,0015625 0,0007813 0,0001953
N 1 2 4 16 64 128 512
0,1 100,00% 48,32% 23,76% 5,87% 1,46% 0,73% 0,18%
0,2 46,61% 22,55% 11,10% 2,74% 0,68% 0,34% 0,09%
0,3 28,95% 14,03% 6,91% 1,71% 0,43% 0,21% 0,05%
0,4 20,22% 9,81% 4,83% 1,20% 0,30% 0,15% 0,04%
0,5 15,06% 7,32% 3,61% 0,89% 0,22% 0,11% 0,03%
0,6 11,67% 5,68% 2,80% 0,69% 0,17% 0,09% 0,02%
0,7 9,30% 4,53% 2,24% 0,55% 0,14% 0,07% 0,02%
0,8 7,57% 3,69% 1,82% 0,45% 0,11% 0,06% 0,01%
0,9 6,25% 3,05% 1,51% 0,37% 0,09% 0,05% 0,01%
1 5,22% 2,55% 1,26% 0,31% 0,08% 0,04% 0,01%

Bawasan natin ang hakbang ng pagsasama ng kalahati, h = 0.05, sa kasong ito, para sa bawat grid node, ang pagkalkula ay isasagawa sa dalawang hakbang (N = 2). Kaya, para sa unang node x =0,1 nakukuha natin:

(6.6)

Ang formula na ito ay lumalabas na implicit tungkol sa y i+1 (ang value na ito ay nasa kaliwa at kanang bahagi ng expression), iyon ay, ito ay isang equation na may kinalaman sa y i+1, na maaaring malutas, halimbawa, ayon sa numero, gamit ang ilang umuulit na paraan (sa ganoong anyo, maaari itong ituring bilang umuulit na formula ng simpleng paraan ng pag-ulit). Gayunpaman, maaari mong gawin ito nang iba at humigit-kumulang kalkulahin ang halaga ng isang function sa isang node i+1 gamit ang karaniwang formula:

,

na maaaring gamitin sa pagkalkula ayon sa (6.6).

Nagbibigay ito ng pamamaraan Guna o pamamaraan ni Euler na may muling pagkalkula. Para sa bawat integration node ang sumusunod na chain ng mga kalkulasyon ay isinasagawa

(6.7)

Salamat sa isang mas tumpak na formula ng pagsasama, ang error ng pamamaraang Hün ay proporsyonal sa parisukat ng hakbang ng pagsasama.

Error~ h 2

Ang diskarte na ginamit sa pamamaraan ni Gün ay ginagamit upang bumuo ng tinatawag na mga pamamaraan pagtataya at pagwawasto, na tatalakayin mamaya.

Halimbawa:

Magsagawa tayo ng mga kalkulasyon para sa equation () gamit ang pamamaraan ni Hün.

Sa hakbang ng pagsasama h =0.1 sa unang grid node x 1 makuha namin:

Alin ang mas tumpak kaysa sa mga halaga na nakuha ng pamamaraang Euler na may parehong hakbang sa pagsasama. Ipinapakita ng talahanayan 2 sa ibaba ang mga resulta ng paghahambing ng mga kalkulasyon para sa h = 0.1 ng mga pamamaraan ng Euler at Gün.

Talahanayan 2 Solusyon ng equation sa pamamagitan ng mga pamamaraan ng Euler at Gün

x tumpak Pamamaraan ni Gün Paraan ng Euler
y rel. pagkakamali y rel. pagkakamali
0 0,000000 0,00000 0,00000
0,1 0,004837 0,00500 3,36% 0,00000 100,00%
0,2 0,018731 0,01903 1,57% 0,01000 46,61%
0,3 0,040818 0,04122 0,98% 0,02900 28,95%
0,4 0,070320 0,07080 0,69% 0,05610 20,22%
0,5 0,106531 0,10708 0,51% 0,09049 15,06%
0,6 0,148812 0,14940 0,40% 0,13144 11,67%
0,7 0,196585 0,19721 0,32% 0,17830 9,30%
0,8 0,249329 0,24998 0,26% 0,23047 7,57%
0,9 0,306570 0,30723 0,21% 0,28742 6,25%
1 0,367879 0,36854 0,18% 0,34868 5,22%

Pansinin natin ang isang makabuluhang pagtaas sa katumpakan ng mga kalkulasyon ng pamamaraang Hün kumpara sa pamamaraang Euler. Kaya, para sa node x =0.1, ang relatibong paglihis ng halaga ng function na tinutukoy ng pamamaraang Huyn ay lumalabas na 30 (!) na mas kaunti. Ang parehong katumpakan ng mga kalkulasyon gamit ang Euler's formula ay nakakamit kapag ang bilang ng integration segment N ay humigit-kumulang 30. Dahil dito, kapag ginagamit ang Hün method na may parehong katumpakan ng mga kalkulasyon, ito ay aabutin ng humigit-kumulang 15 beses na mas kaunting oras ng computer kaysa sa paggamit ng Euler method. .

Sinusuri ang katatagan ng solusyon

Ang isang solusyon sa isang ODE sa ilang punto x i ay tinatawag na stable kung ang halaga ng function ay matatagpuan sa puntong ito y i bahagyang nagbabago habang bumababa ang hakbang ng pagsasama. Upang suriin ang katatagan, samakatuwid, kinakailangan na magsagawa ng dalawang kalkulasyon ng halaga ( y i) – may integration step h at may pinababang (halimbawa, dalawa) na laki ng hakbang

Bilang pamantayan ng katatagan, maaari mong gamitin ang liit ng relatibong pagbabago sa nakuhang solusyon kapag nabawasan ang hakbang ng pagsasama (ε ay isang paunang natukoy na maliit na halaga)

Maaaring isagawa ang pagsusuring ito para sa lahat ng solusyon sa buong hanay ng mga halaga x. Kung ang kondisyon ay hindi natutugunan, pagkatapos ay ang hakbang ay muling nahahati sa kalahati at isang bagong solusyon ay natagpuan, atbp. hanggang sa makuha ang isang matatag na solusyon.

Mga pamamaraan ng Runge-Kutta

Ang karagdagang pagpapabuti sa katumpakan ng paglutas ng isang first-order na ODE ay posible sa pamamagitan ng pagtaas ng katumpakan ng tinatayang pagkalkula ng integral sa expression.

Nakita na natin ang bentahe ng paglipat mula sa pagsasama gamit ang rectangle formula () hanggang sa paggamit ng trapezoid formula () kapag tinatantya ang integral na ito.

Gamit ang well-proven na Simpson formula, maaari kang makakuha ng mas tumpak na formula para sa paglutas ng Cauchy problem para sa first-order ODE - ang Runge-Kutta method na malawakang ginagamit sa computing practice.

Ang bentahe ng maraming-hakbang na pamamaraan ng Adams para sa paglutas ng mga ODE ay na sa bawat node ay isang halaga lamang ng kanang bahagi ng ODE ang kinakalkula - ang function na F(x,y). Kasama sa mga disadvantage ang imposibilidad ng pagsisimula ng isang multi-step na paraan mula sa iisang panimulang punto, dahil ang mga kalkulasyon gamit ang k-step na formula ay nangangailangan ng kaalaman sa halaga ng function sa k nodes. Samakatuwid, kinakailangan upang makakuha ng isang (k-1) na solusyon sa mga unang node x 1, x 2, ..., x k-1 gamit ang ilang isang hakbang na paraan, halimbawa ang pamamaraan

Pamamaraan ni Euler. Pinahusay na paraan ng Euler.
Klasikong paraan ng Runge-Kutta

Ang computational mathematics at differential equation ay hindi naligtas! Ngayon sa klase ay matututunan natin ang mga pangunahing kaalaman tinatayang mga kalkulasyon sa seksyong ito ng mathematical analysis, pagkatapos kung saan ang makapal, napakakapal na mga libro sa paksa ay mainit na magbubukas sa harap mo. Dahil hindi pa nalalampasan ng computational mathematics ang diffusion side =)

Ang mga pamamaraan na nakalista sa pamagat ay nilayon malapit na paghahanap ng mga solusyon differential equation, mga remote control system, at isang maikling pahayag ng pinakakaraniwang problema ay ang mga sumusunod:

Isaalang-alang natin first order differential equation, kung saan kailangan mong hanapin pribadong solusyon, naaayon sa paunang kondisyon. Ano ang ibig sabihin nito? Ibig sabihin kailangan nating maghanap function (Ipinapalagay ang pagkakaroon nito), na nakakatugon sa pagkakaibang ito. equation, at ang graph na dumadaan sa punto.

Ngunit narito ang problema: imposibleng paghiwalayin ang mga variable sa equation. Sa anumang paraan ay hindi alam ng agham. At kung ito ay posible, pagkatapos ito ay lumiliko hindi mababasag integral. Gayunpaman, mayroong isang partikular na solusyon! At narito ang mga pamamaraan ng tinatayang mga kalkulasyon ay dumating upang iligtas, na nagbibigay-daan sa mataas (at madalas na may pinakamataas) tumpak na "gayahin" ang isang function sa isang tiyak na agwat.

Ang ideya ng mga pamamaraan ng Euler at Runge-Kutta ay upang palitan ang isang bahagi ng graph putol na linya, at ngayon ay malalaman natin kung paano ipinatupad ang ideyang ito sa pagsasanay. At hindi lang natin malalaman, kundi direktang ipatupad din ito =) Magsimula tayo sa makasaysayang una at pinakasimpleng pamamaraan. ...Gusto mo bang harapin ang isang kumplikadong differential equation? Yan din ang ayaw ko :)

Mag-ehersisyo

Maghanap ng isang partikular na solusyon ng differential equation na tumutugma sa paunang kondisyon gamit ang Euler method sa isang segment na may isang hakbang. Bumuo ng talahanayan at graph ng tinatayang solusyon.

Alamin natin ito. Una, mayroon kaming karaniwan linear equation, na maaaring malutas gamit ang mga karaniwang pamamaraan, at samakatuwid ay napakahirap labanan ang tukso upang mahanap agad ang eksaktong solusyon:

– kahit sino ay maaaring suriin at tiyakin na ang function na ito ay nakakatugon sa paunang kondisyon at ang ugat ng equation.

Ano ang dapat gawin? Kailangang maghanap at bumuo putol na linya, na tinatantya ang graph ng function sa pagitan. Dahil ang haba ng agwat na ito ay katumbas ng isa, at ang hakbang ay , kung gayon ang ating putol na linya ay bubuo ng 10 mga segment:

At saka, period ay kilala na - ito ay tumutugma sa paunang kondisyon. Bilang karagdagan, ang mga coordinate ng "X" ng iba pang mga punto ay halata:

Ang natitira na lang ay maghanap . wala pagkakaiba-iba At pagsasama- tanging karagdagan at pagpaparami! Ang bawat kasunod na halaga ng "laro" ay nakuha mula sa nauna gamit ang isang simple paulit-ulit formula:

Isipin natin ang differential equation sa anyo:

kaya:

"We unwind" mula sa unang kondisyon:

Narito tayo:

Maginhawang ipasok ang mga resulta ng pagkalkula sa isang talahanayan:

At i-automate ang mga kalkulasyon sa Excel - dahil sa matematika, hindi lamang isang panalo, kundi pati na rin ang isang mabilis na pagtatapos ay mahalaga :)

Batay sa mga resulta ng ika-2 at ika-3 na hanay, ipapakita namin sa pagguhit ang 11 puntos at 10 mga segment na nagkokonekta sa mga katabing puntos. Para sa paghahambing, ilalagay ko ang eksaktong bahagyang solusyon :


Ang isang makabuluhang disbentaha ng simpleng paraan ng Euler ay ang error ay masyadong malaki, at madaling mapansin na ang error ay may posibilidad na maipon - habang tayo ay lumipat mula sa punto, ang higit sa lahat ang pagkakaiba sa pagitan ng approximation at katotohanan ay nagiging mas malaki. Ito ay maaaring ipaliwanag sa mismong prinsipyo na ibinatay ni Euler ang kanyang pamamaraan: ang mga segment ay parallel kaugnay padaplis sa graph ng function sa mga punto. Itong katotohanan, sa pamamagitan ng paraan, ay malinaw ding nakikita mula sa pagguhit.

Paano mo mapapabuti ang pagtatantya? Ang unang pag-iisip ay upang pinuhin ang partisyon. Hatiin natin ang segment, halimbawa, sa 20 bahagi. Pagkatapos ang hakbang ay: , at ito ay ganap na malinaw na ang isang putol na linya ng 20 mga link ay tinatantya ang isang partikular na solusyon nang mas tumpak. Gamit ang parehong Excel, hindi magiging mahirap na iproseso ang 100-1000 at kahit isang milyong (!) na mga intermediate na segment, ngunit tanungin natin ang ating sarili: posible bang pagbutihin ang pamamaraan?

Ngunit bago isiwalat ang isyung ito, hindi ko maiwasang isipin ang isang pangalan na ilang beses nang binanggit ngayon. Nagbabasa talambuhay ni Leonhard Euler, nakakamangha lang kung gaano kalaki ang kayang gawin ng isang tao sa kanyang buhay! Kumpara, K.F lang ang naalala ko. Gauss. ...Kaya susubukan naming huwag mawalan ng motibasyon sa pag-aaral at mga bagong tuklas :))

Pinahusay na paraan ng Euler

Isaalang-alang natin ang parehong halimbawa: isang differential equation, isang partikular na solusyon na nagbibigay-kasiyahan sa kondisyon, isang agwat at paghahati nito sa 10 bahagi
( – haba ng bawat bahagi).

Ang layunin ng pagpapabuti ay ilapit ang "mga pulang parisukat" ng polyline sa kaukulang "mga berdeng punto" ng eksaktong solusyon .

At ang ideya ng pagbabago ay ito: ang mga segment ay dapat na magkatulad padaplis, na iginuhit sa graph ng function hindi sa kaliwang gilid, at "sa gitna" ng mga pagitan ng partisyon. Na, natural, ay mapapabuti ang kalidad ng approximation.

Ang algorithm ng solusyon ay gumagana sa parehong ugat, ngunit ang formula, tulad ng maaari mong hulaan, ay nagiging mas kumplikado:
, Saan

Nagsisimula kaming sumayaw muli mula sa partikular na solusyon at agad na mahanap ang 1st argument ng "panlabas" na function:

Ngayon nakita namin ang aming "halimaw", na naging hindi nakakatakot - mangyaring tandaan na ito ang PAREHONG pag-andar , kinakalkula sa isa pang punto:

I-multiply namin ang resulta sa pamamagitan ng hakbang ng partitioning:

kaya:

Ang algorithm ay pumapasok sa pangalawang pag-ikot nito, kaya hindi ako magiging tamad at ilarawan ito nang detalyado:

Isinasaalang-alang namin ang pares at hanapin ang 1st argument ng "panlabas" na function:

Kinakalkula namin at hinahanap ang ika-2 argumento nito:

Kalkulahin natin ang halaga:

at ang produkto nito sa bawat hakbang:

Makatuwirang magsagawa ng mga kalkulasyon sa Excel (pagkopya ng mga formula ayon sa parehong pamamaraan - tingnan ang video sa itaas), at ibuod ang mga resulta sa isang talahanayan:


Maipapayo na i-round ang mga numero sa 4-5-6 decimal na lugar. Kadalasan sa mga kondisyon ng isang partikular na gawain ay mayroon direktang pagtuturo, kung anong katumpakan ang dapat isagawa ng rounding. Pinutol ko ang malakas na "tailed" na mga halaga sa 6 na numero.

Batay sa mga resulta ng 2nd at 3rd column (kaliwa) magtayo tayo putol na linya, at para sa paghahambing ay magpapakita ako muli ng isang graph ng eksaktong solusyon :


Ang resulta ay makabuluhang bumuti! – ang mga pulang parisukat ay halos "nakatago" sa likod ng mga berdeng punto ng eksaktong solusyon.

Gayunpaman, walang mga limitasyon sa pagiging perpekto. Ang isang ulo ay mabuti, ngunit ang dalawa ay mas mahusay. At muli Aleman:

Klasikal na paraan ng Runge-Kutta ng ika-4 na order

Ang kanyang layunin ay ilapit ang "mga pulang parisukat" sa "mga berdeng tuldok". Tanong mo, saan mas malapit? Sa marami, partikular na pisikal, ang mga pag-aaral, ang ika-10, o maging ang ika-50, ay PANGUNAHING mahalaga tumpak decimal na lugar. Hindi, ang ganitong katumpakan ay maaaring makamit gamit ang simpleng paraan ng Euler, ngunit ILANG bahagi ang kailangan mong hatiin ang pagitan?! ... Bagama't may modernong kapangyarihan sa pag-compute, hindi ito problema - libu-libong Chinese stoker sasakyang pangkalawakan garantisadong!

At, gaya ng wastong iminumungkahi ng pamagat, kapag ginagamit ang paraan ng Runge-Kutta sa bawat hakbang kailangan nating kalkulahin ang halaga ng function 4 na beses (kumpara sa dobleng pagkalkula sa nakaraang talata). Ngunit ang gawaing ito ay medyo mapapamahalaan kung kukuha ka ng mga Intsik. Ang bawat kasunod na halaga ng "laro" ay nakuha mula sa nauna - nakuha namin ang mga formula:
, Saan , Saan:

handa na? sige simulan na natin :))


kaya:

Ang unang linya ay na-program, at kinokopya ko ang mga formula na tulad nito:


Hindi ko akalaing malalampasan ko ang paraan ng Runge-Kutta nang ganoon kabilis =)

Walang kwenta ang drawing dahil hindi na representative. Gumawa tayo ng mas mahusay na analytical na paghahambing katumpakan tatlong pamamaraan, dahil kapag alam ang eksaktong solusyon , kung gayon ito ay isang kasalanan na hindi ihambing. Ang mga halaga ng function sa mga nodal point ay madaling kalkulahin sa Excel - ipinasok namin ang formula nang isang beses at ginagaya ito sa iba.

Sa talahanayan sa ibaba ay ibuod ko ang mga halaga (para sa bawat isa sa tatlong pamamaraan) at ang kaukulang ganap na mga pagkakamali tinatayang mga kalkulasyon:


Gaya ng nakikita mo, ang paraan ng Runge-Kutta ay nagbibigay na ng 4-5 tamang decimal place kumpara sa 2 tamang decimal place ng pinahusay na paraan ng Euler! At hindi ito isang aksidente:

– Ang error ng "ordinaryong" Euler na paraan ay hindi lalampas hakbang mga partisyon. At sa katunayan - tingnan ang pinakakaliwang column ng mga error - mayroon lamang isang zero pagkatapos ng mga decimal na lugar, na nagsasabi sa amin na ang katumpakan ay 0.1.

– Ginagarantiyahan ng pinahusay na paraan ng Euler ang katumpakan: (tingnan ang 2 zero pagkatapos ng decimal point sa gitnang column ng error).

– At sa wakas, tinitiyak ng klasikal na paraan ng Runge-Kutta ang katumpakan .

Ang ipinakita na mga pagtatantya ng error ay mahigpit na nabibigyang katwiran sa teorya.

Paano mo mapapabuti ang katumpakan ng pagtatantya KARAGDAGANG? Pilosopikal ang sagot: kalidad at/o dami =) Sa partikular, may iba pang mas tumpak na pagbabago sa paraan ng Runge-Kutta. Ang dami ng paraan, tulad ng nabanggit na, ay upang bawasan ang hakbang, i.e. sa paghahati ng isang segment sa mas malaking bilang ng mga intermediate na segment. At sa pagtaas ng bilang na ito, isang putol na linya mas magiging katulad ng graph ng eksaktong solusyon At sa limitasyon- ay magkakasabay nito.

Sa matematika ang ari-arian na ito ay tinatawag pagkakatuwid ng kurba. Siya nga pala (maliit na offtopic), hindi lahat ay maaaring "ituwid" - Inirerekumenda ko ang pagbabasa ng mga pinaka-kawili-wili, kung saan ang pagbawas sa "lugar ng pag-aaral" ay hindi nangangailangan ng pagpapasimple sa bagay ng pag-aaral.

Nagkataon na sinuri ko lamang ang isang differential equation at samakatuwid ay isang pares ng mga karagdagang komento. Ano pa ang kailangan mong tandaan sa pagsasanay? Sa pahayag ng problema, maaari kang mag-alok ng ibang segment at ibang partition, at kung minsan ay matatagpuan ang sumusunod na formulation: "upang mahanap gamit ang pamamaraan... ...sa pagitan, hatiin ito sa 5 bahagi." Sa kasong ito, kailangan mong hanapin ang hakbang ng pagkahati , at pagkatapos ay sundin ang karaniwang scheme ng solusyon. Sa pamamagitan ng paraan, ang paunang kundisyon ay dapat na nasa sumusunod na anyo: , iyon ay, "x zero", bilang panuntunan, ay tumutugma sa kaliwang dulo ng segment. Sa matalinghagang pagsasalita, ang putol na linya ay palaging "lumalabas" sa punto.

Ang walang alinlangan na bentahe ng mga pamamaraan na isinasaalang-alang ay ang katotohanan na ang mga ito ay naaangkop sa mga equation na may napakakomplikadong kanang bahagi. At ang ganap na disbentaha ay hindi lahat ng diffuser ay maaaring iharap sa form na ito.

Ngunit halos lahat ng bagay sa buhay na ito ay maaaring ayusin! - pagkatapos ng lahat, sinuri namin ang isang maliit na bahagi lamang ng paksa, at ang aking parirala tungkol sa makapal, napakakapal na mga libro ay hindi isang biro. Mayroong maraming iba't ibang mga tinatayang pamamaraan para sa paghahanap ng mga solusyon sa mga differential equation at kanilang mga sistema, na gumagamit, bukod sa iba pang mga bagay, sa panimula ay magkakaibang mga diskarte. Kaya, halimbawa, ang isang partikular na solusyon ay maaaring tinatayang ayon sa serye ng kapangyarihan. Gayunpaman, ito ay isang artikulo para sa isa pang seksyon.

Sana ay nagawa kong pag-iba-ibahin ang boring computational mathematics, at nakita mong kawili-wili ito!

Salamat sa iyong atensyon!


Isara