Numerical na solusyon ng mga ordinaryong differential equation. Numerical solution ng differential equation (1) Order ng numerical differential equation method

Upang malutas ang mga differential equation, kinakailangang malaman ang halaga ng dependent variable at ang mga derivatives nito para sa ilang mga halaga ng independent variable. Kung ang mga karagdagang kundisyon ay tinukoy para sa isang halaga ng hindi alam, i.e. independiyenteng variable., kung gayon ang ganitong problema ay tinatawag na problemang Cauchy. Kung ang mga paunang kondisyon ay tinukoy para sa dalawa o higit pang mga halaga ng independiyenteng variable, kung gayon ang problema ay tinatawag na problema sa halaga ng hangganan. Kapag nilulutas ang mga differential equation ng iba't ibang uri, ang function na ang mga halaga ay kailangang matukoy ay kinakalkula sa anyo ng isang talahanayan.

Pag-uuri ng mga numerical na pamamaraan para sa paglutas ng mga pagkakaiba. Lv. Mga uri.

Cauchy problem – one-step: Euler method, Runge-Kutta method; – multi-step: Pangunahing paraan, Adams method. Problema sa hangganan - isang paraan ng pagbabawas ng problema sa hangganan sa problema sa Cauchy; - paraan ng may hangganang pagkakaiba.

Kapag nilulutas ang problemang Cauchy, dapat tukuyin ang pagkakaiba. ur. order n o sistema ng dif. ur. unang pagkakasunud-sunod ng n equation at n karagdagang kundisyon para sa solusyon nito. Dapat tukuyin ang mga karagdagang kundisyon para sa parehong halaga ng independent variable. Kapag nilulutas ang isang problema sa hangganan, dapat tukuyin ang mga equation. nth order o isang sistema ng n equation at n karagdagang kundisyon para sa dalawa o higit pang value ng independent variable. Kapag nilulutas ang problema sa Cauchy, ang kinakailangang function ay tinutukoy nang discretely sa anyo ng isang talahanayan na may tiyak na tinukoy na hakbang . Kapag tinutukoy ang bawat sunud-sunod na halaga, maaari mong gamitin ang impormasyon tungkol sa isang nakaraang punto. Sa kasong ito, ang mga pamamaraan ay tinatawag na one-step, o maaari mong gamitin ang impormasyon tungkol sa ilang mga nakaraang punto - mga multi-step na pamamaraan.

Ordinaryong differential equation. Cauchy na problema. Isang hakbang na pamamaraan. Pamamaraan ni Euler.

Ibinigay: g(x,y)y+h(x,y)=0, y=-h(x,y)/g(x,y)= f(x,y), x 0 , y( x 0)=y 0 . Ito ay kilala: f(x,y), x 0 , y 0 . Tukuyin ang discrete solution: x i , y i , i=0,1,…,n. Ang pamamaraan ni Euler ay batay sa pagpapalawak ng isang function sa isang serye ng Taylor sa paligid ng punto x 0 . Ang kapitbahayan ay inilarawan sa pamamagitan ng hakbang h. y(x 0 +h)y(x 0)+hy(x 0)+…+ (1). Ang pamamaraan ni Euler ay isinasaalang-alang lamang ang dalawang termino ng serye ng Taylor. Ipakilala natin ang ilang notasyon. Ang formula ni Euler ay kukuha ng anyong: y i+1 =y i +y i, y i =hy(x i)=hf(x i,y i), y i+1 =y i +hf(x i,y i) (2), i= 0,1,2…, x i+1 =x i +h

Ang Formula (2) ay ang pormula ng simpleng paraan ng Euler.

Geometric na interpretasyon ng formula ni Euler

Upang makakuha ng numerical solution, ginagamit ang tangent line na dumadaan sa equation. padaplis: y=y(x 0)+y(x 0)(x-x 0), x=x 1,

y 1 =y(x 0)+f(x 0 ,y 0)  (x-x 0), dahil

x-x 0 =h, pagkatapos ay y 1 =y 0 +hf(x 0 ,y 0), f(x 0 ,y 0)=tg £.

Binagong paraan ng Euler

Ibinigay: y=f(x,y), y(x 0)=y 0 . Ito ay kilala: f(x,y), x 0 , y 0 . Tukuyin: ang dependence ng y sa x sa anyo ng isang tabular discrete function: x i, y i, i=0.1,…,n.

Geometric na interpretasyon

1) kalkulahin ang tangent ng anggulo ng pagkahilig sa panimulang punto

tg £=y(x n ,y n)=f(x n ,y n)

2) Kalkulahin ang halaga  y n+1 sa

pagtatapos ng hakbang ayon sa pormula ni Euler

 y n+1 =y n +f(x n ,y n) 3) Kalkulahin ang padaplis ng anggulo ng pagkahilig

padaplis sa n+1 punto: tg £=y(x n+1 ,  y n+1)=f(x n+1 ,  y n+1) 4) Kalkulahin ang arithmetic mean ng mga anggulo

ikiling: tg £=½. 5) Gamit ang tangent ng slope angle, kinakalkula namin muli ang halaga ng function sa n+1 point: y n+1 =y n +htg £= y n +½h=y n +½h – formula ng binagong paraan ng Euler. Maipapakita na ang resultang f-la ay tumutugma sa pagpapalawak ng f-i sa isang serye ng Taylor, kasama ang mga termino (hanggang h 2). Ang binagong paraan ng Eilnra, hindi katulad ng simple, ay isang paraan ng katumpakan ng pangalawang order, dahil ang error ay proporsyonal sa h 2.

Isinasaalang-alang lamang namin ang solusyon sa problemang Cauchy. Ang isang sistema ng mga differential equation o isang equation ay dapat i-convert sa form

saan ,
n-dimensional na mga vector; y- hindi kilalang function ng vector; x- malayang argumento,
. Sa partikular, kung n= 1, pagkatapos ang system ay nagiging isang differential equation. Ang mga paunang kondisyon ay itinakda tulad ng sumusunod:
, Saan
.

Kung
sa paligid ng isang punto
ay tuloy-tuloy at may tuluy-tuloy na partial derivatives na may kinalaman sa y, pagkatapos ay ginagarantiyahan ng pagkakaroon at pagiging natatangi na teorama na mayroon lamang isang tuluy-tuloy na function ng vector
, tinukoy sa ilang kapitbahayan ng isang punto , kasiya-siyang equation (7) at ang kundisyon
.

Bigyang-pansin natin ang katotohanan na ang kapitbahayan ng punto , kung saan tinutukoy ang solusyon, ay maaaring napakaliit. Kapag papalapit sa hangganan ng kapitbahayan na ito, ang solusyon ay maaaring pumunta sa infinity, mag-oscillate na may walang katapusang pagtaas ng dalas, sa pangkalahatan, kumilos nang napakasama na hindi ito maipagpapatuloy sa kabila ng hangganan ng kapitbahayan. Alinsunod dito, ang naturang solusyon ay hindi masusubaybayan ng mga numerical na pamamaraan sa isang mas malaking segment, kung ang isa ay tinukoy sa pahayag ng problema.

Paglutas ng problemang Cauchy sa [ a; b] ay isang function. Sa mga numerical na pamamaraan, ang function ay pinapalitan ng isang talahanayan (Talahanayan 1).

Talahanayan 1

Dito
,
. Ang distansya sa pagitan ng mga katabing table node ay karaniwang itinuturing na pare-pareho:
,
.

Mayroong mga talahanayan na may mga variable na hakbang. Ang hakbang sa talahanayan ay tinutukoy ng mga kinakailangan ng problema sa engineering at hindi konektado sa katumpakan ng paghahanap ng solusyon.

Kung y ay isang vector, kung gayon ang talahanayan ng mga halaga ng solusyon ay magkakaroon ng anyo ng isang talahanayan. 2.

Talahanayan 2

Sa sistema ng MATHCAD, ang isang matrix ay ginagamit sa halip na isang talahanayan, at ito ay inilipat na may paggalang sa tinukoy na talahanayan.

Lutasin ang problema ng Cauchy nang may katumpakan ε nangangahulugang makuha ang mga halaga sa tinukoy na talahanayan (mga numero o vector),
, ganyan
, Saan
- eksaktong solusyon. Posibleng hindi matuloy ang solusyon sa segment na tinukoy sa problema. Pagkatapos ay kailangan mong sagutin na ang problema ay hindi malulutas sa buong segment, at kailangan mong makakuha ng solusyon sa segment kung saan ito umiiral, na ginagawang mas malaki ang segment na ito hangga't maaari.

Dapat tandaan na ang eksaktong solusyon
hindi namin alam (kung hindi, bakit gumamit ng numerical na paraan?). Grade
dapat bigyang-katwiran sa ibang batayan. Bilang isang tuntunin, hindi posible na makakuha ng 100% na garantiya na ang pagtatasa ay isinasagawa. Samakatuwid, ang mga algorithm ay ginagamit upang tantiyahin ang halaga
, na nagpapatunay na epektibo sa karamihan ng mga problema sa engineering.

Ang pangkalahatang prinsipyo para sa paglutas ng problemang Cauchy ay ang mga sumusunod. Segment ng linya [ a; b] ay nahahati sa isang bilang ng mga segment sa pamamagitan ng mga integration node. Bilang ng mga node k ay hindi kailangang tumugma sa bilang ng mga node m panghuling talahanayan ng mga halaga ng desisyon (Talahanayan 1, 2). Karaniwan, k > m. Para sa pagiging simple, ipagpalagay namin na ang distansya sa pagitan ng mga node ay pare-pareho,
;h tinatawag na integration step. Pagkatapos, ayon sa ilang mga algorithm, alam ang mga halaga sa i < s, kalkulahin ang halaga . Ang mas maliit na hakbang h, mas mababa ang halaga ay mag-iiba mula sa halaga ng eksaktong solusyon
. Hakbang h sa partisyon na ito ay natutukoy na hindi ng mga kinakailangan ng problema sa engineering, ngunit sa pamamagitan ng kinakailangang katumpakan ng paglutas ng problema ng Cauchy. Bilang karagdagan, dapat itong mapili upang sa isang hakbang ang talahanayan. Ang 1, 2 ay magkasya sa isang integer na bilang ng mga hakbang h. Sa kasong ito ang mga halaga y, nakuha bilang resulta ng mga kalkulasyon na may mga hakbang h sa mga punto
, ay ginagamit nang naaayon sa talahanayan. 1 o 2.

Ang pinakasimpleng algorithm para sa paglutas ng problemang Cauchy para sa equation (7) ay ang Euler method. Ang formula ng pagkalkula ay:

(8)

Tingnan natin kung paano tinasa ang katumpakan ng solusyon na natagpuan. Magpanggap na tayo
ay ang eksaktong solusyon ng problemang Cauchy, at iyon din
, kahit na ito ay halos palaging hindi ang kaso. Kung gayon nasaan ang pare-pareho C depende sa function
sa paligid ng isang punto
. Kaya, sa isang hakbang ng pagsasama (paghahanap ng solusyon) nakakakuha tayo ng error sa order . Dahil kailangang gumawa ng mga hakbang
, pagkatapos natural na asahan na ang kabuuang error sa huling punto
lahat ay magiging maayos
, ibig sabihin. utos h. Samakatuwid, ang pamamaraan ni Euler ay tinatawag na paraan ng unang pagkakasunud-sunod, i.e. ang error ay may pagkakasunud-sunod ng unang kapangyarihan ng hakbang h. Sa katunayan, sa isang hakbang ng pagsasama ang sumusunod na pagtatantya ay maaaring makatwiran. Hayaan
– eksaktong solusyon ng problemang Cauchy sa paunang kondisyon
. Malinaw na iyon
ay hindi nag-tutugma sa kinakailangang eksaktong solusyon
ang orihinal na problema ng Cauchy ng equation (7). Gayunpaman, sa maliit h at "magandang" function
ang dalawang eksaktong solusyon na ito ay mag-iiba ng kaunti. Tinitiyak iyon ng natitirang formula ng Taylor
, nagbibigay ito ng error sa hakbang sa pagsasama. Ang huling error ay binubuo hindi lamang ng mga error sa bawat hakbang ng pagsasama, kundi pati na rin ng mga paglihis ng nais na eksaktong solusyon
mula sa mga eksaktong solusyon
,
, at ang mga paglihis na ito ay maaaring maging napakalaki. Gayunpaman, ang panghuling pagtatantya ng error sa Euler method para sa isang "magandang" function
kamukha pa rin
,
.

Kapag inilalapat ang pamamaraan ni Euler, ang pagkalkula ay nagpapatuloy tulad ng sumusunod. Ayon sa tinukoy na katumpakan ε tukuyin ang tinatayang hakbang
. Pagtukoy sa bilang ng mga hakbang
at muli tinatayang piliin ang hakbang
. Pagkatapos ay muli naming ayusin ito pababa upang sa bawat hakbang ang talahanayan. Ang 1 o 2 ay magkasya sa isang integer na bilang ng mga hakbang sa pagsasama. Kumuha kami ng isang hakbang h. Ayon sa formula (8), alam At , nahanap namin. Sa pamamagitan ng nahanap na halaga At
hanapin namin kaya sa.

Ang resultang resulta ay maaaring wala, at sa pangkalahatan ay hindi magkakaroon ng nais na katumpakan. Samakatuwid, binabawasan namin ang hakbang sa kalahati at muling inilalapat ang paraan ng Euler. Inihahambing namin ang mga resulta ng unang aplikasyon ng pamamaraan at ang pangalawa sa magkapareho puntos . Kung ang lahat ng mga pagkakaiba ay mas mababa kaysa sa tinukoy na katumpakan, kung gayon ang huling resulta ng pagkalkula ay maaaring ituring na sagot sa problema. Kung hindi, pagkatapos ay binabawasan namin muli ang hakbang sa kalahati at muling ilapat ang pamamaraan ni Euler. Ngayon inihambing namin ang mga resulta ng huling at penultimate application ng pamamaraan, atbp.

Ang pamamaraan ni Euler ay medyo bihirang ginagamit dahil sa katotohanan na upang makamit ang isang naibigay na katumpakan ε isang malaking bilang ng mga hakbang ang kinakailangan, sa pagkakasunud-sunod ng
. Gayunpaman, kung
ay may mga discontinuities o discontinuous derivatives, kung gayon ang mga pamamaraan ng mas mataas na pagkakasunud-sunod ay magbubunga ng parehong error gaya ng pamamaraan ni Euler. Iyon ay, ang parehong halaga ng mga kalkulasyon ay kinakailangan tulad ng sa pamamaraan ng Euler.

Sa mga mas matataas na paraan ng pagkakasunud-sunod, ang pang-apat na pagkakasunud-sunod na paraan ng Runge–Kutta ay kadalasang ginagamit. Sa loob nito, ang mga kalkulasyon ay isinasagawa ayon sa mga formula

Ang pamamaraang ito, sa pagkakaroon ng tuloy-tuloy na ikaapat na derivatives ng function
nagbibigay ng error sa isang hakbang ng order , ibig sabihin. sa notasyong ipinakilala sa itaas,
. Sa pangkalahatan, sa pagitan ng pagsasama, sa kondisyon na ang eksaktong solusyon ay natutukoy sa pagitan na ito, ang error sa pagsasama ay nasa pagkakasunud-sunod ng .

Ang pagpili ng hakbang sa pagsasama ay nangyayari sa parehong paraan tulad ng inilarawan sa pamamaraan ni Euler, maliban na ang paunang tinatayang halaga ng hakbang ay pinili mula sa kaugnayan
, ibig sabihin.
.

Karamihan sa mga program na ginagamit upang malutas ang mga differential equation ay gumagamit ng awtomatikong pagpili ng hakbang. Ang buod nito ay ito. Hayaang makalkula na ang halaga . Ang halaga ay kinakalkula
sa mga dagdag h, pinili sa panahon ng pagkalkula . Pagkatapos ay ang dalawang hakbang sa pagsasama ay ginanap sa hakbang , ibig sabihin. idinagdag ang karagdagang node
sa gitna sa pagitan ng mga node At
. Dalawang halaga ang kinakalkula
At
sa mga node
At
. Ang halaga ay kinakalkula
, Saan p- pagkakasunud-sunod ng pamamaraan. Kung δ ay mas mababa kaysa sa katumpakan na tinukoy ng gumagamit, pagkatapos ito ay ipinapalagay
. Kung hindi, pagkatapos ay pumili ng isang bagong hakbang h pantay at ulitin ang pagsuri sa katumpakan. Kung noong unang tseke δ ay mas mababa kaysa sa tinukoy na katumpakan, pagkatapos ay isang pagtatangka na pataasin ang hakbang. Para sa layuning ito ito ay kinakalkula
sa node
sa mga dagdag h mula sa node
at kinakalkula
sa mga hakbang ng 2 h mula sa node . Ang halaga ay kinakalkula
. Kung ay mas mababa kaysa sa tinukoy na katumpakan, pagkatapos ay hakbang 2 h itinuturing na katanggap-tanggap. Sa kasong ito, isang bagong hakbang ang itinalaga
,
,
. Kung mas katumpakan, pagkatapos ay ang hakbang ay naiwang pareho.

Dapat itong isaalang-alang na ang mga programa na may awtomatikong pagpili ng hakbang sa pagsasama ay nakakamit ang tinukoy na katumpakan lamang kapag nagsasagawa ng isang hakbang. Nangyayari ito dahil sa katumpakan ng approximation ng solusyon na dumadaan sa punto
, ibig sabihin. pagtatantya ng solusyon
. Ang ganitong mga programa ay hindi isinasaalang-alang kung magkano ang solusyon
naiiba sa nais na solusyon
. Samakatuwid, walang garantiya na ang tinukoy na katumpakan ay makakamit sa buong agwat ng pagsasama.

Ang inilarawan na mga pamamaraan ng Euler at Runge–Kutta ay nabibilang sa pangkat ng mga one-step na pamamaraan. Nangangahulugan ito na upang makalkula
sa punto
sapat na upang malaman ang kahulugan sa node . Natural na asahan na kung mas maraming impormasyon tungkol sa isang desisyon ang gagamitin, maraming mga nakaraang halaga ng desisyon ang isasaalang-alang.
,
atbp., pagkatapos ay ang bagong halaga
magiging posible na makahanap ng mas tumpak. Ang diskarte na ito ay ginagamit sa mga multi-step na pamamaraan. Upang ilarawan ang mga ito, ipinakilala namin ang notasyon
.

Ang mga kinatawan ng mga multi-step na pamamaraan ay ang mga pamamaraan ng Adams-Bashforth:


Pamamaraan k-th order ay nagbibigay ng isang lokal na order error
o global – kaayusan .

Ang mga pamamaraang ito ay nabibilang sa pangkat ng mga pamamaraan ng extrapolation, i.e. malinaw na ipinahahayag ang bagong kahulugan sa pamamagitan ng mga nauna. Ang isa pang uri ay mga pamamaraan ng interpolation. Sa kanila, sa bawat hakbang, kailangan mong lutasin ang isang nonlinear equation para sa isang bagong halaga . Kunin natin ang mga pamamaraan ng Adams–Moulton bilang isang halimbawa:


Upang magamit ang mga pamamaraang ito, kailangan mong malaman ang ilang mga halaga sa simula ng bilang
(ang kanilang numero ay depende sa pagkakasunud-sunod ng pamamaraan). Ang mga halagang ito ay dapat makuha sa pamamagitan ng iba pang mga pamamaraan, halimbawa ang paraan ng Runge–Kutta na may maliit na hakbang (upang madagdagan ang katumpakan). Ang mga pamamaraan ng interpolation sa maraming kaso ay nagiging mas matatag at nagbibigay-daan sa mas malalaking hakbang na gawin kaysa sa mga pamamaraan ng extrapolation.

Upang hindi malutas ang isang nonlinear na equation sa bawat hakbang sa mga pamamaraan ng interpolation, ginagamit ang mga pamamaraan ng Adams predictor-correction. Ang ilalim na linya ay ang pamamaraan ng extrapolation ay unang inilapat sa hakbang at ang resultang halaga
ay pinapalitan sa kanang bahagi ng paraan ng interpolation. Halimbawa, sa pangalawang paraan ng pagkakasunud-sunod

Numerical na solusyon ng mga differential equation

Maraming problema sa agham at teknolohiya ang bumababa sa paglutas ng mga ordinaryong differential equation (ODEs). Ang mga ODE ay yaong mga equation na naglalaman ng isa o higit pang mga derivatives ng nais na function. Sa pangkalahatan, ang ODE ay maaaring isulat tulad ng sumusunod:

Kung saan ang x ay isang independent variable, ay ang i-th derivative ng nais na function. n ay ang pagkakasunud-sunod ng equation. Ang pangkalahatang solusyon ng isang nth order ODE ay naglalaman ng n arbitrary constants, i.e. ang pangkalahatang solusyon ay may anyo.

Upang pumili ng isang solong solusyon, ito ay kinakailangan upang magtakda ng n karagdagang mga kondisyon. Depende sa paraan ng pagtukoy ng mga karagdagang kundisyon, mayroong dalawang magkaibang uri ng mga problema: ang problema sa Cauchy at ang problema sa halaga ng hangganan. Kung ang mga karagdagang kundisyon ay tinukoy sa isang punto, kung gayon ang ganitong problema ay tinatawag na problemang Cauchy. Ang mga karagdagang kundisyon sa problemang Cauchy ay tinatawag na mga paunang kondisyon. Kung ang mga karagdagang kundisyon ay tinukoy sa higit sa isang punto, i.e. para sa iba't ibang mga halaga ng independiyenteng variable, kung gayon ang gayong problema ay tinatawag na problema sa halaga ng hangganan. Ang mga karagdagang kundisyon mismo ay tinatawag na hangganan o kundisyon ng hangganan.

Malinaw na kapag n=1 maaari lamang nating pag-usapan ang problemang Cauchy.

Mga halimbawa ng pagse-set up ng problema sa Cauchy:

Mga halimbawa ng mga problema sa boundary value:

Posibleng malutas ang mga naturang problema nang analytical para lamang sa ilang mga espesyal na uri ng mga equation.

Mga numerical na pamamaraan para sa paglutas ng problema sa Cauchy para sa mga first-order na ODE

Pagbubuo ng problema. Maghanap ng solusyon sa unang order na ODE

Sa ibinigay na segment

Kapag naghahanap ng isang tinatayang solusyon, ipagpalagay namin na ang mga kalkulasyon ay isinasagawa sa isang kinakalkula na hakbang, ang mga node ng pagkalkula ay ang mga interval point [ x 0 , x n ].

Ang layunin ay bumuo ng isang mesa

x i

x n

y i

y n

mga. Ang mga tinatayang halaga ng y ay hinahanap sa mga grid node.

Ang pagsasama ng equation sa pagitan, nakuha namin

Ang isang ganap na natural (ngunit hindi lamang) na paraan upang makakuha ng numerical na solusyon ay ang palitan ang integral dito ng ilang quadrature formula ng numerical integration. Kung gagamitin natin ang pinakasimpleng formula para sa mga kaliwang parihaba ng unang pagkakasunud-sunod

,

pagkatapos makuha namin tahasang pormula ng Euler:

Pamamaraan ng pagbabayad:

Alam, nahanap natin, at iba pa.

Geometric na interpretasyon ng pamamaraan ni Euler:

Sinasamantala kung ano ang nasa punto x 0 alam ang solusyon y(x 0)= y 0 at ang halaga ng derivative nito, maaari nating isulat ang equation ng tangent sa graph ng nais na function sa puntong:. Sa isang maliit na sapat na hakbang h ang ordinate ng tangent na ito, na nakuha sa pamamagitan ng pagpapalit sa kanang bahagi ng value, ay dapat na kaunti ang pagkakaiba sa ordinate y(x 1) mga solusyon y(x) Cauchy problema. Samakatuwid, ang punto ng intersection ng padaplis na may linya x = x Maaaring kunin ang 1 bilang bagong panimulang punto. Sa pamamagitan ng puntong ito muli kaming gumuhit ng isang tuwid na linya, na humigit-kumulang na sumasalamin sa pag-uugali ng padaplis sa punto. Pagpapalit dito (i.e. ang intersection sa linya x = x 2), nakakakuha kami ng tinatayang halaga y(x) sa punto x 2: atbp. Bilang resulta para sa i-ang punto ay nakuha natin ang formula ni Euler.

Ang tahasang paraan ng Euler ay may unang pagkakasunud-sunod na katumpakan o pagtatantya.

Kung gagamitin mo ang tamang rectangle formula: , pagkatapos ay dumating tayo sa pamamaraan

Ang pamamaraang ito ay tinatawag na implicit na paraan ng Euler, dahil ang pagkalkula ng isang hindi kilalang halaga mula sa isang kilalang halaga ay nangangailangan ng paglutas ng isang equation na karaniwang hindi linear.

Ang implicit na paraan ng Euler ay may first order na katumpakan o approximation.

Sa pamamaraang ito, ang pagkalkula ay binubuo ng dalawang yugto:

Ang scheme na ito ay tinatawag ding predictor-corrector method (predictive-correcting). Sa unang yugto, ang tinatayang halaga ay hinuhulaan na may mababang katumpakan (h), at sa pangalawang yugto ang hulang ito ay naitama upang ang resultang halaga ay may katumpakan ng pangalawang pagkakasunud-sunod.

Mga pamamaraan ng Runge–Kutta: ang ideya ng pagbuo ng mga tahasang pamamaraan ng Runge–Kutta p-th order ay upang makakuha ng mga approximation sa mga halaga y(x i+1) ayon sa isang formula ng form

…………………………………………….

Dito a n ,b nj , p n, – ilang mga nakapirming numero (parameter).

Kapag gumagawa ng mga pamamaraan ng Runge–Kutta, ang mga parameter ng function ( a n ,b nj , p n) ay pinili sa paraang makuha ang nais na pagkakasunud-sunod ng pagtatantya.

Runge–Kutta scheme ng ikaapat na pagkakasunud-sunod ng katumpakan:

Halimbawa. Lutasin ang problemang Cauchy:

Isaalang-alang ang tatlong paraan: tahasang Euler method, binagong Euler method, Runge–Kutta method.

Eksaktong solusyon:

Mga formula ng pagkalkula gamit ang tahasang paraan ng Euler para sa halimbawang ito:

Mga formula ng pagkalkula ng binagong paraan ng Euler:

Mga formula ng pagkalkula para sa paraan ng Runge–Kutta:

y1 - pamamaraan ni Euler, y2 - binago ang pamamaraan ni Euler, y3 - pamamaraan ni Runge Kutta.

Makikita na ang pinakatumpak ay ang paraan ng Runge–Kutta.

Mga numerical na pamamaraan para sa paglutas ng mga sistema ng mga first-order na ODE

Ang mga pamamaraan na isinasaalang-alang ay maaari ding gamitin upang malutas ang mga sistema ng first-order differential equation.

Ipakita natin ito para sa kaso ng isang sistema ng dalawang first-order equation:

Ang tahasang pamamaraan ng Euler:

Binagong paraan ng Euler:

Runge–Kutta scheme ng ikaapat na pagkakasunud-sunod ng katumpakan:

Ang mga problema sa Cauchy para sa mas mataas na pagkakasunud-sunod na mga equation ay binabawasan din sa paglutas ng mga sistema ng mga equation ng ODE. Halimbawa, isaalang-alang Cauchy na problema para sa pangalawang order equation

Ipakilala natin ang pangalawang hindi kilalang function. Pagkatapos ang problema sa Cauchy ay papalitan ng mga sumusunod:

Yung. sa mga tuntunin ng nakaraang problema: .

Halimbawa. Maghanap ng solusyon sa problemang Cauchy:

Sa segment.

Eksaktong solusyon:

Talaga:

Lutasin natin ang problema gamit ang tahasang pamamaraan ng Euler, na binago ng pamamaraang Euler at Runge-Kutta na may hakbang h=0.2.

Ipakilala natin ang function.

Pagkatapos ay makuha namin ang sumusunod na problema sa Cauchy para sa isang sistema ng dalawang first-order na ODE:

Ang tahasang pamamaraan ng Euler:

Binagong paraan ng Euler:

Paraan ng Runge–Kutta:

Euler circuit:

Binagong paraan ng Euler:

Runge - Kutta scheme:

Max(y-y theory)=4*10 -5

May hangganang paraan ng pagkakaiba para sa paglutas ng mga problema sa halaga ng hangganan para sa ODE

Pagbubuo ng problema: humanap ng solusyon sa isang linear differential equation

nakakatugon sa mga kundisyon sa hangganan:. (2)

Teorama. Hayaan . Pagkatapos ay mayroong isang natatanging solusyon sa problema.

Ang problemang ito ay nababawasan, halimbawa, sa problema sa pagtukoy ng mga pagpapalihis ng isang sinag na nakabitin sa mga dulo nito.

Mga pangunahing yugto ng paraan ng may hangganang pagkakaiba:

1) ang lugar ng patuloy na pagbabago ng argumento () ay pinalitan ng isang discrete set ng mga puntos na tinatawag na mga node: .

2) Ang gustong function ng tuluy-tuloy na argumentong x ay tinatayang pinapalitan ng function ng discrete argument sa isang ibinigay na grid, i.e. . Ang function ay tinatawag na grid function.

3) Ang orihinal na differential equation ay pinalitan ng difference equation na may kinalaman sa grid function. Ang kapalit na ito ay tinatawag na difference approximation.

Kaya, ang paglutas ng isang differential equation ay bumababa sa paghahanap ng mga halaga ng grid function sa mga grid node, na matatagpuan mula sa paglutas ng mga algebraic equation.

Approximation ng mga derivatives.

Upang tantiyahin (palitan) ang unang derivative, maaari mong gamitin ang mga formula:

- right difference derivative,

- kaliwang pagkakaiba derivative,

Derivative ng gitnang pagkakaiba.

ibig sabihin, maraming posibleng paraan para tantiyahin ang derivative.

Ang lahat ng mga kahulugang ito ay sumusunod sa konsepto ng derivative bilang limitasyon: .

Batay sa difference approximation ng unang derivative, maaari tayong bumuo ng difference approximation ng pangalawang derivative:

Katulad nito, maaari tayong makakuha ng mga pagtatantya ng mga derivative na may mataas na pagkakasunud-sunod.

Kahulugan. Ang error sa approximation ng nth derivative ay ang pagkakaiba: .

Upang matukoy ang pagkakasunud-sunod ng pagtatantya, ginagamit ang pagpapalawak ng serye ng Taylor.

Isaalang-alang natin ang pagtatantya ng pagkakaiba sa kanang kamay ng unang derivative:

Yung. ang tamang pagkakaiba derivative ay mayroon una sa pamamagitan ng h pagkakasunud-sunod ng approximation.

Ang parehong ay totoo para sa kaliwang pagkakaiba derivative.

Ang pangunahing pagkakaiba derivative ay may pagtatantya ng pangalawang order.

Ang approximation ng pangalawang derivative ayon sa formula (3) ay mayroon ding pangalawang order ng approximation.

Upang matantya ang isang differential equation, kinakailangang palitan ang lahat ng derivatives nito ng kanilang mga approximation. Isaalang-alang natin ang problema (1), (2) at palitan ang mga derivatives sa (1):

Bilang resulta, nakukuha namin ang:

(4)

Ang pagkakasunud-sunod ng approximation ng orihinal na problema ay 2, dahil ang pangalawa at unang derivatives ay pinalitan ng order 2, at ang natitira - eksakto.

Kaya, sa halip na mga differential equation (1), (2), ang isang sistema ng mga linear equation ay nakuha para sa pagpapasiya sa mga grid node.

Ang diagram ay maaaring kinakatawan bilang:

ibig sabihin, nakakuha kami ng isang sistema ng mga linear na equation na may matrix:

Ang matrix na ito ay tridiagonal, i.e. lahat ng mga elemento na hindi matatagpuan sa pangunahing dayagonal at ang dalawang dayagonal na katabi nito ay katumbas ng zero.

Sa pamamagitan ng paglutas ng nagresultang sistema ng mga equation, nakakakuha tayo ng solusyon sa orihinal na problema.

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 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 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 paraan ng pagsulat na ito ay tinatawag na isang 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, ay nakakatugon sa 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 pinakasimpleng paraan upang malutas ang problema sa Cauchy para sa isang first-order na ODE ay ang paraan ng Euler. Ito ay batay sa approximation ng derivative sa pamamagitan ng ratio ng mga finite increments 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: Ang gawaing kurso ay 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 ipinapalagay na iyon ay, ang paunang kundisyon ay 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 step-by-step. 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)

Lab 1

Mga pamamaraan ng numerical na solusyon

ordinaryong differential equation (4 na oras)

Kapag nilulutas ang maraming problemang pisikal at geometriko, kailangang maghanap ng hindi kilalang function batay sa isang ibinigay na relasyon sa pagitan ng hindi kilalang function, mga derivatives nito at mga independiyenteng variable. Ang ratio na ito ay tinatawag differential equation , at ang paghahanap ng isang function na nakakatugon sa differential equation ay tinatawag paglutas ng differential equation.

Ordinaryong differential equation tinatawag na pagkakapantay-pantay

, (1)

kung saan

ay isang malayang variable na nagbabago sa isang partikular na segment, at - hindi kilalang function y ( x ) at siya muna n derivatives. tinawag pagkakasunud-sunod ng equation .

Ang gawain ay maghanap ng function y na nakakatugon sa pagkakapantay-pantay (1). Bukod dito, nang hindi itinatakda ito nang hiwalay, ipagpalagay namin na ang nais na solusyon ay may isa o ibang antas ng kinis na kinakailangan para sa pagtatayo at "legal" na aplikasyon ng isa o ibang paraan.

Mayroong dalawang uri ng ordinaryong differential equation

Mga equation na walang paunang kondisyon

Mga equation na may mga paunang kondisyon.

Ang mga equation na walang paunang kundisyon ay mga equation ng form (1).

Equation na may mga paunang kondisyon ay isang equation ng form (1), kung saan kinakailangan upang mahanap ang ganoong function

, na para sa ilan ay nakakatugon sa mga sumusunod na kundisyon: ,

mga. sa punto

ang function at ang mga unang derivative nito ay kumukuha ng mga paunang natukoy na halaga.

Cauchy problema

Kapag nag-aaral ng mga pamamaraan para sa paglutas ng mga differential equation gamit ang mga tinatayang pamamaraan pangunahing gawain binibilang Cauchy na problema.

Isaalang-alang natin ang pinakasikat na paraan para sa paglutas ng problemang Cauchy - ang paraan ng Runge-Kutta. Ang pamamaraang ito ay nagpapahintulot sa iyo na bumuo ng mga formula para sa pagkalkula ng isang tinatayang solusyon ng halos anumang pagkakasunud-sunod ng katumpakan.

Kunin natin ang mga formula ng paraan ng Runge-Kutta ng katumpakan ng pangalawang order. Upang gawin ito, kinakatawan namin ang solusyon bilang isang piraso ng isang serye ng Taylor, na nagtatapon ng mga termino na may order na mas mataas kaysa sa pangalawa. Pagkatapos ay ang tinatayang halaga ng nais na function sa punto x 1 maaaring isulat bilang:

(2)

Pangalawang derivative y "( x 0 ) maaaring ipahayag sa pamamagitan ng derivative ng function f ( x , y ) , gayunpaman, sa paraan ng Runge-Kutta, sa halip na ang hinalaw, ang pagkakaiba ay ginagamit

pagpili ng mga halaga ng parameter nang naaayon

Pagkatapos (2) ay maaaring muling isulat bilang:

y 1 = y 0 + h [ β f ( x 0 , y 0 ) + α f ( x 0 + γh , y 0 + δh )], (3)

saan α , β , γ At δ - ilang mga parameter.

Isinasaalang-alang ang kanang bahagi ng (3) bilang isang function ng argumento h , hatiin natin ito sa mga grado h :

y 1 = y 0 +( α + β ) h f ( x 0 , y 0 ) + αh 2 [ γ f x ( x 0 , y 0 ) + δ f y ( x 0 , y 0 )],

at piliin ang mga parameter α , β , γ At δ upang ang pagpapalawak na ito ay malapit sa (2). Sinusundan nito iyon

α + β =1, αγ =0,5, α δ =0,5 f ( x 0 , y 0 ).

Gamit ang mga equation na ito ay ipinapahayag namin β , γ At δ sa pamamagitan ng mga parameter α , nakukuha namin

y 1 = y 0 + h [(1 - α ) f ( x 0 , y 0 ) + α f ( x 0 +, y 0 + f ( x 0 , y 0 )], (4)

0 < α ≤ 1.

Ngayon, kung sa halip na ( x 0 , y 0 ) sa (4) kapalit ( x 1 , y 1 ), nakakakuha kami ng formula para sa pagkalkula y 2 tinatayang halaga ng nais na function sa punto x 2 .

Sa pangkalahatang kaso, ang paraan ng Runge-Kutta ay inilalapat sa isang di-makatwirang partisyon ng segment [ x 0 , X ] sa n mga bahagi, i.e. na may variable na pitch

x 0 , x 1 , …, x n ; h i = x i+1 – x i , x n = X. (5)

Mga pagpipilian α ay pinili katumbas ng 1 o 0.5. Sa wakas ay isulat natin ang mga formula ng pagkalkula ng pangalawang order na paraan ng Runge-Kutta na may mga variable na hakbang para sa α =1:

y i+1 =y i +h i f(x i + , y i + f(x i , y i)), (6.1)

i = 0, 1,…, n -1.

At α =0,5:

y i+1 =y i + , (6.2)

i = 0, 1,…, n -1.

Ang pinakaginagamit na mga formula ng paraan ng Runge-Kutta ay mga formula ng ikaapat na pagkakasunud-sunod ng katumpakan:

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

k 1 =f(x i , y i), k 2 = f(x i + , y i + k 1), (7)

k 3 = f(x i + , y i + k 2), k 4 = f(x i +h, y i +hk 3).

Para sa paraan ng Runge-Kutta, naaangkop ang panuntunan ni Runge upang tantyahin ang error. Hayaan y ( x ; h ) – tinatayang halaga ng solusyon sa punto x , nakuha ng mga formula (6.1), (6.2) o (7) na may hakbang h , A p ang pagkakasunud-sunod ng katumpakan ng kaukulang formula. Tapos yung error R ( h ) mga halaga y ( x ; h ) maaaring matantya gamit ang tinatayang halaga y ( x ; 2 h ) mga solusyon sa isang punto x , nakuha sa mga dagdag 2 h :

(8)

saan p =2 para sa mga formula (6.1) at (6.2) at p =4 para sa (7).