Metoda Euler, ecuații diferențiale, metode numerice. Rezolvarea ecuațiilor diferențiale obișnuite

Se știe că ecuație diferențială ordinară de ordinul întâi are forma: .Rezolvarea acestei ecuaţii este o funcţie derivabilă, care, substituită în ecuaţie, o transformă într-o identitate. Graficul pentru rezolvarea unei ecuații diferențiale (Figura 1) se numește curbă integrală.

Derivata în fiecare punct poate fi interpretată geometric ca tangente a tangentei la graficul soluției care trece prin acest punct, adică:.

Ecuația originală definește o întreagă familie de soluții. Pentru a selecta o soluție, setați condiția inițială: , unde este o valoare dată a argumentului și – valoarea inițială a funcției.

Problema Cauchy consta in gasirea unei functii care sa satisfaca ecuatia initiala si conditia initiala. De obicei, soluția problemei Cauchy se determină pe segmentul situat în dreapta valorii inițiale, adică pt.

Chiar și pentru cei simpli ecuatii diferentiale de ordinul întâi nu este întotdeauna posibilă obținerea unei soluții analitice. Prin urmare, este de mare importanță metode numerice solutii. Metodele numerice fac posibilă determinarea valorilor aproximative ale soluției dorite pe o grilă selectată de valori ale argumentelor. Punctele sunt numite noduri de grilă, iar valoarea este pasul grilei. Adesea luate în considerare uniformă plasă, pentru care pasul este constant. În acest caz, soluția se obține sub forma unui tabel în care fiecărui nod al grilei corespunde valorilor aproximative ale funcției la nodurile grilei.

Metodele numerice nu permit găsirea unei soluții în formă generală, dar sunt aplicabile unei clase largi de ecuații diferențiale.

Convergenţa metodelor numerice de rezolvare a problemei Cauchy. Să fie soluția la problema Cauchy. Hai sa sunăm eroare metoda numerică, o funcție specificată la nodurile grilei. Să luăm valoarea ca eroare absolută.

Metoda numerică de rezolvare a problemei Cauchy se numește convergent, dacă pentru el la. Se spune că o metodă are ordinea preciziei dacă eroarea are următoarea estimare: constant, .

metoda Euler

Cea mai simplă metodă de rezolvare a problemei Cauchy este metoda lui Euler. Vom rezolva problema Cauchy

pe segment. Să selectăm pașii și să construim o grilă cu un sistem de noduri. În metoda lui Euler, valorile aproximative ale funcției sunt calculate la nodurile grilei:. Inlocuind derivata cu diferente finite pe segmentele,, se obtine egalitatea aproximativa:,, care poate fi rescrisa astfel:,.

Aceste formule și condiția inițială sunt formule de calcul ale metodei Euler.

Interpretarea geometrică a unei etape a metodei lui Euler este că soluția de pe segment este înlocuită cu o tangentă desenată într-un punct al curbei integrale care trece prin acest punct. După parcurgerea pașilor, curba integrală necunoscută este înlocuită cu o linie întreruptă (linia întreruptă a lui Euler).

Estimarea erorii. Pentru a estima eroarea metodei Euler, folosim următoarea teoremă.

Teorema. Fie ca funcția să îndeplinească condițiile:

.

Atunci următoarea estimare a erorii este valabilă pentru metoda Euler: , unde este lungimea segmentului. Vedem că metoda lui Euler are acuratețe de ordinul întâi.

Estimarea erorii metodei Euler este adesea dificilă, deoarece necesită calcularea derivatelor funcției. Oferă o estimare aproximativă a erorii regula lui Runge (regula de numărare dublă), care este utilizat pentru diverse metode într-un singur pas având ordinul --lea de precizie. Regula lui Runge este următoarea. Fie aproximațiile obținute cu un pas și fie aproximările obținute cu un pas. Atunci egalitatea aproximativă este valabilă:

.

Astfel, pentru a estima eroarea unei metode într-un singur pas cu un pas, trebuie să găsiți aceeași soluție cu pași și să calculați valoarea din dreapta în ultima formulă, adică deoarece metoda Euler are primul ordin de precizie , adică egalitatea aproximativă are vedere:.

Folosind regula lui Runge, este posibil să se construiască o procedură pentru calculul aproximativ al soluției problemei Cauchy cu o precizie dată. . Pentru a face acest lucru, trebuie să începeți calculele de la o anumită valoare a pasului și să reduceți succesiv această valoare la jumătate, calculând de fiecare dată o valoare aproximativă, . Calculele se opresc atunci când este îndeplinită condiția: . Pentru metoda Euler, această condiție va lua forma:. O soluție aproximativă ar fi valorile .

Exemplul 1. Să găsim o soluție pe un segment din următoarea problemă Cauchy:,. Să facem un pas. Apoi.

Formula de calcul pentru metoda Euler este:

, .

Să prezentăm soluția sub forma tabelului 1:

tabelul 1

Ecuația originală este ecuația lui Bernoulli. Soluția sa poate fi găsită în formă explicită: .

Pentru a compara soluția exactă și cea aproximativă, prezentăm soluția exactă sub forma tabelului 2:

masa 2

Tabelul arată că eroarea este

Multe probleme din știință și tehnologie se reduc la rezolvarea ecuațiilor diferențiale obișnuite (ODE). ODE-urile sunt acele ecuații care conțin una sau mai multe derivate ale funcției dorite. În general

ODE poate fi scrisă ca:

F x , y , y , y ,..., y

unde x este variabila independentă,

y i - i-a derivată a

funcția dorită, n este ordinea ecuației. Soluția generală a unei EDO de ordinul al n-lea conține n constante arbitrare

c 1, c 2,..., c n, i.e. decizie comună are forma y x , c 1 , c 2 ,..., c n . Pentru a evidenția singura solutie trebuie specificate n condiții suplimentare. În funcție de metoda sarcinii

condiții suplimentare, există două tipuri diferite de probleme: problema Cauchy și problema valorii la limită. Dacă conditii suplimentare sunt date la un moment dat, atunci o astfel de problemă se numește problema Cauchy. Condițiile suplimentare din problema Cauchy se numesc condiții inițiale. Dacă sunt specificate condiții suplimentare în mai mult de un punct, de ex. pentru diferite valori ale variabilei independente, atunci o astfel de problemă se numește problemă de valoare la limită. Condițiile suplimentare în sine sunt numite condiții la limită sau la limită.

Este clar că pentru n 1 putem vorbi doar de probleme Cauchy. Exemple de configurare a problemei Cauchy:

dy x 2 y 3

y 1 1;

d 2 y dy

y 1 1,

dx 2 dx xy,

y 1 0 .

Exemple de probleme de valoare la limită:

d 2 y

y sin x,

y 0 1,

y 1 0

dx 2

d 3 y

d 2 y

y 1 0,

y 3 2 .

x x dx 2

dx,

y 1 0,

Rezolva asa ceva

posibil analitic numai pentru

unele tipuri speciale de ecuații, deci utilizarea metodelor de rezolvare aproximativă este o necesitate.

Metode aproximative de rezolvare a problemei Cauchy pentru EDO de ordinul întâi

Trebuie să găsim o soluție y (x) la o EDO de ordinul întâi

f x, y

pe segmentul x 0 , x n prevăzut

y x0 y0 .

Vom căuta o soluție aproximativă la nodurile calculului

xi x0 ih,

i 0,1,..., n s

xn x0

Trebuie să găsești

închide

valori în

noduri de grilă

y i =y (x i ). Vom introduce rezultatele calculului în tabel

Integrarea

ecuația pentru

segmentul x i, x i

1, primim

x i 1

y i 1

yi f x, y dx.

Pentru a găsi toate valorile lui y i, trebuie să faceți cumva

se calculează integrala din partea dreaptă a (5.4). Folosind diverse formule de cuadratura, vom obtine metode de rezolvare a problemei (5.2), (5.3) de diferite ordine de precizie.

metoda Euler

Dacă pentru a calcula integrala din (5.4) folosim cea mai simplă formulă a dreptunghiurilor din stânga de ordinul întâi

Metoda explicită Euler are o aproximare de ordinul întâi. Implementarea metodei. Deoarece x 0 , y 0 , f x 0 , y 0

sunt cunoscute, aplicând (5.5) secvenţial, determinăm toate y i : y 1 y 0 hf x 0 , y 0 , y 2 y 1 hf x 1 , y 1 , ….

Geometric

interpretare

(Fig. 5.1.):

Profitând de faptul că în punctul x 0 se cunoaşte soluţia y x 0 y 0

iar valoarea derivatei sale y x 0 dy

f x0, y0,

x x0

notează ecuația tangentei la graficul funcției dorite

f x0, y0

y y0

f x0 , y0 x x0 .

suficient

pasul h

ordonată

y1 y0 hf x0 , y0

tangentei obținute prin înlocuirea valorii x 1 x 0 h în partea dreaptă ar trebui să difere puțin de ordonata y x 1 a soluției

y x probleme Cauchy. Prin urmare, punctul x 1 , y 1 de intersecție a tangentei cu dreapta x x 1 poate fi luat aproximativ

pentru un nou punct de plecare. Să tragem din nou prin acest punct

linie dreaptă y y 1 f x 1 , y 1 x x 1 ,

care reflectă aproximativ

comportarea tangentei la y x

utilizare

x i 1

dreptunghiuri:

f x, y dx hf xi 1 , yi 1 , atunci

metoda Euler implicită

y i 1

y i hf x i 1 , y i 1 , i 0,1,..., n 1.

Această metodă se numește implicit pentru că a calcula

necunoscut

valorile

yi 1 y xi 1 de

celebru

sens

este necesar să se rezolve ecuația, în cazul general

neliniară. Metoda implicită Euler are și o aproximare de ordinul întâi.

Metoda Euler modificată

În această metodă, calculul lui y i 1 constă din două etape:

~ y i 1 y i hf x i , y i ,

y i 1

f xi, yi f xi 1, yi 1

Această schemă este numită și metoda predictor-corector. Acesta este un nume englezesc care înseamnă „a prezice pentru a corecta”. Într-adevăr, în prima etapă, valoarea aproximativă este prezisă cu precizie de ordinul întâi, iar la

Anunțați-ne secvența dinamică de intrare X(semnal de intrare) și model (metoda de conversie a semnalului de intrare într-un semnal de ieșire). Luăm în considerare problema determinării semnalului de ieșire y(t) (vezi Fig. 10.1).

Model sistem dinamic poate fi reprezentat printr-o ecuație diferențială. Ecuația de bază a dinamicii:

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

Condițiile inițiale la momentul zero sunt cunoscute t 0 : y(t 0) , X(t 0) . Pentru a determina semnalul de ieșire, rețineți că, prin definiția derivatei:

Cunoaștem poziția sistemului în punctul „1” trebuie să determinăm poziția sistemului în punctul „2”. Punctele sunt separate între ele printr-o distanță Δ t(Fig. 10.2). Adică, comportamentul sistemului este calculat pas cu pas. De la punctul „1” sărim (discret) la punctul „2”, distanța dintre punctele de-a lungul axei t numit pasul de calcul Δ t .

Orez. 10.2. Ilustrație a calculării stării viitoare a sistemului
Metoda lui Euler într-un singur pas

Ultima formulă se numește formula lui Euler.

Evident, pentru a afla starea sistemului pe viitor y(t + Δ t) , este necesar pentru starea curentă a sistemului y(t) adăugați modificarea Δ y, scurs în timpul Δ t .

Să considerăm din nou această relație importantă, derivând-o din considerații geometrice (Fig. 10.3).

Orez. 10.3. Ilustrație geometrică metoda Euler

Fie A punctul în care starea sistemului este cunoscută. Aceasta este starea „reală” a sistemului.

În punctul A trasăm o tangentă la traiectoria sistemului. Tangenta este derivata unei functii f(X(t), y(t), t) după variabilă t. Derivata la un punct este întotdeauna ușor de calculat este suficient să înlocuiți variabilele cunoscute (în momentul de față sunt cunoscute) în formulă y" = f(X(t), y(t), t) .

Rețineți că, prin definiție, derivata este legată de unghiul de înclinare al tangentei: y" = tg( α ) , ceea ce înseamnă unghiul α usor de calculat ( α = arctan( y" ) ) și trageți o tangentă.

Desenați o tangentă până când se intersectează cu linia t + Δ t. Moment t + Δ t corespunde stării „viitoare” a sistemului. Desenați o linie paralelă cu axa t de la punctul A până la intersecția cu dreapta t + Δ t. Dreptele formează un triunghi dreptunghic ABC, a cărui latură este egală cu Δ t(famos). Unghiul este de asemenea cunoscut α . Apoi intră a doua etapă triunghi dreptunghic ABC este egal cu: A = Δ t tg( α ) . Acum este ușor să calculați ordonata punctului B. Este format din două segmente y(t) Și A. Ordonata simbolizează poziția sistemului într-un punct y(t + Δ t) . Acesta este y(t + Δ t) = y(t) + A sau mai departe y(t + Δ t) = y(t) + Δ t tg( α ) sau, înlocuind mai departe, avem: y(t + Δ t) = y(t) + Δ t · y" și, în sfârșit y(t + Δ t) = y(t) + Δ t · f(X(t), y(t), t) . Din nou am obținut formula lui Euler (din considerente geometrice).

Această formulă poate oferi rezultate precise numai pentru Δ foarte mic t(spus la Δ t>0). La Δ t≠0 formula dă discrepanța dintre valoarea adevărată yși calculat, egal ε , prin urmare ar trebui să conțină un semn de egalitate aproximativ, sau ar trebui să fie scris astfel:

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

Într-adevăr. Aruncă o altă privire la Fig. 10.3. Să mutam mental linia t + Δ t la stânga (de fapt, vom aduce valoarea lui Δ mai aproape t la zero). După cum este ușor de văzut, distanța BB * = ε , asta este o eroare! vor fi reduse. În limită (la Δ t>0) valoare de eroare ε va fi egal cu zero.

Deci, înlocuind curba reală cu o linie dreaptă (tangentă) pe segmentul Δ t, introducem o eroare în soluție, ajungând nu în punctul „2” (vezi Fig. 10.2), ci în apropiere, la punctul „3”. Evident, această metodă numerică are o eroare de calcul la fiecare pas ε .

Din figură se poate observa că cu cât valoarea lui Δ este mai mică t, cu atât eroarea de calcul va fi mai mică ε . Adică, pentru a calcula comportamentul sistemului pe orice perioadă lungă de timp (de exemplu, de la t 0 la t k) pentru a reduce eroarea la fiecare pas, pașii Δ t păstrați-l cât mai mic posibil. Pentru a ajunge la punct t k segment de linie (t k – t 0) împărțit în segmente de lungime Δ t; astfel totul se va rezolva N = (t k – t 0)/Δ t trepte. Ca rezultat al calculului, va trebui să aplicați formula lui Euler pentru fiecare pas, adică N o singura data. Dar rețineți că erorile ε i pe fiecare i-a pasă (în cel mai simplu caz) se adună, iar eroarea totală se acumulează rapid (vezi Fig. 10.4). Și acesta este un dezavantaj semnificativ aceasta metoda. Deși folosind această metodă este posibil să se obțină (sub formă numerică) o soluție a oricărei ecuații diferențiale (inclusiv a celor nerezolvabile analitic). Prin reducerea pasului, obținem soluții mai precise, dar nu trebuie să uităm că creșterea numărului de pași duce la costuri de calcul și la scăderea performanței. În plus, când un numar mare iterații, o altă eroare semnificativă este introdusă în calcul din cauza preciziei limitate a calculatoarelor și erorilor de rotunjire.

Orez. 10.4. Creșterea erorii totale în metoda lui Euler pe un număr de pași

Sarcina 1. Dată o ecuație diferențială y" = 2ty . Poziția inițială a sistemului este setată: y(0) = 1. Trebuie să găsești y(t) , adică comportamentul sistemului pe intervalul de timp t de la 0 la 1.

Metoda analitică de rezolvare a problemei 1

y" = 2ty .

Folosind metoda separării variabilelor găsim:

y" /y = 2t

Vom integra de la 0 la t i, atunci conform regulilor de integrare avem:

Soluția analitică rezultată se caracterizează prin faptul că este absolut precisă, dar dacă ecuația se dovedește a fi complicată, atunci soluția nu va fi găsită deloc. Soluția analitică nu este universală.

Metoda numerică de rezolvare a problemei 1

Metoda numerică de soluție presupune că calculul va fi efectuat conform formulei Euler într-un număr de pași succesivi. La fiecare pas, soluția are propria eroare (vezi Fig. 10.2), deoarece la fiecare pas curba este înlocuită cu un segment drept.

Într-o implementare algoritmică, calculul este implementat într-un ciclu în care t(tejghea t) Și y :

Diagrama bloc pentru implementarea metodei pe un computer este prezentată în Fig. 10.5.

Orez. 10.5. Diagrama bloc a implementării metodei lui Euler

În implementarea Stratum, înregistrarea va arăta astfel (prezența simbolului „~” atunci când t ):

Să căutăm valoarea y exemplu considerat anterior sub formă numerică pe intervalul de la T= 0 la T= 1 . Să luăm numărul de pași n= 10, apoi pasul de increment Δ t va fi: Δ t= (1 0)/ n= (1 0)/10 = 0,1.

Tabelul 10.1.
Calculul numeric al ecuației prin metoda Euler
și compararea rezultatului cu soluția exactă la fiecare pas
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 corect = 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

Vă rugăm să rețineți că valoarea calculată numeric ( y i+ 1) este diferit de exact ( y corect ), și eroare (diferența de coloane y i+ 1 și y corect ) crește în timpul procesului de calcul în același mod ca în Fig. 10.4.

Acum să calculăm eroarea relativă σ pentru valoarea calculată y(1) obţinut numeric, în comparaţie cu exactul teoretic y teorie

σ după următoarea formulă: y= (1 y calc. /

teoretic) · 100% σ si compara t .

la diferite valori ale lui Δ t Dacă modificăm valoarea pasului Δ y, de exemplu, reduceți pasul, apoi va scădea și eroarea relativă de calcul. Aceasta este ceea ce obțineți când calculați valoarea (1) cu sensuri diferite

pas (vezi Tabelul 10.2).
Tabelul 10.2.
Dependență de eroare t
Δ t y calcul bazat pe dimensiunea pasului Δ y calc. (1) σ
1/10 2.3346 2.7183 14%
1/20 2.5107 2.7183 8%
1/100 2.6738 2.7183 2%

teorie (1) t După cum vedem, cu pasul Δ descrescător valoarea scade eroare relativă

, ceea ce înseamnă că acuratețea calculului crește. ε = Vă rugăm să rețineți că modificarea pasului de 10 ori (de la 1/10 la 1/100) duce la o modificare a valorii erorii de aproximativ 10 ori (de la 14% la 2%). Când schimbați pasul de 100 de ori, eroarea va scădea, de asemenea, de aproximativ 100 de ori. Cu alte cuvinte, dimensiunea pasului și eroarea pentru metoda Euler sunt legate liniar. Dacă doriți să reduceți eroarea de 10 ori, reduceți pasul de 10 ori și creșteți numărul de calcule corespunzător de 10 ori. Acest fapt în matematică este de obicei notat prin simbolt) O

, iar metoda lui Euler se numește metoda acurateței de ordinul întâi.

Deoarece în metoda Euler eroarea este destul de mare și se acumulează de la pas la pas, iar acuratețea este proporțională cu numărul de calcule, metoda Euler este de obicei folosită pentru calcule brute, pentru a evalua comportamentul sistemului în principiu. Pentru calcule cantitative precise se folosesc metode mai precise.

  1. Note Vă rugăm să rețineți că modificarea pasului de 10 ori (de la 1/10 la 1/100) duce la o modificare a valorii erorii de aproximativ 10 ori (de la 14% la 2%). Când schimbați pasul de 100 de ori, eroarea va scădea, de asemenea, de aproximativ 100 de ori. Cu alte cuvinte, dimensiunea pasului și eroarea pentru metoda Euler sunt legate liniar. Dacă doriți să reduceți eroarea de 10 ori, reduceți pasul de 10 ori și creșteți numărul de calcule corespunzător de 10 ori. Acest fapt în matematică este de obicei notat prin simbol(Fiecare metodă numerică are acuratețe deoarece rezultatul diferă de cel teoretic. Precizia metodei depinde de dimensiunea pasului. Diferite metode au o precizie diferită. Ordinea de dependență a preciziei de dimensiunea pasului este notă ca h
  2. ). Metoda Euler are acuratețe de ordinul întâi, iar dependența erorii de dimensiunea pasului este liniară. y n Dacă, la scăderea treptei, limita y tinde spre sens
  3. teorie , atunci se spune că metoda converge. Cercetătorii sunt interesați de viteza de convergență a metodei.
  4. Metoda trebuie să fie durabilă. Stabilitatea este asociată cu o anumită dimensiune critică a pasului. Când apare instabilitatea, există o denaturare completă a imaginii calitative a calculului, o „laxitate” a rezultatului.

Atunci când alegeți o metodă, este recomandat să obțineți mai întâi stabilitatea, iar în regiunea de stabilitate, convergența rezultatului. Stabilitatea asigură o imagine de calitate. Convergența oferă un rezultat cantitativ (vezi și Fig. 10.10).

Stabilit în paragrafe. Să explicăm 1-4 cu un exemplu.

Calitativ, aceste ecuații descriu procesul de schimb de căldură între două corpuri, ale căror temperaturi la un moment dat sunt notate ca AȘi B. Deloc AȘi B variabile variabile în timp t. Găsirea comportamentului sistemului înseamnă că trebuie să aflați cum se vor schimba temperaturile A(t) Și B(t) .

Este intuitiv clar că la diferența inițială de temperatură A= 8 și B= 5 temperaturi ale corpului ar trebui să se niveleze treptat în timp, deoarece un corp mai fierbinte va da energie unuia mai rece, iar temperatura acestuia va scădea, iar un corp mai rece va primi energie de la unul mai fierbinte, iar temperatura acestuia va crește. Procesul de schimb de căldură se va încheia (adică schimbările se vor opri) când temperaturile celor două corpuri devin aceleași.

Să facem niște calcule de comportament A(t) Și B(t) cu dimensiuni diferite ale treptei Δ t .

Vom lua diferite mărimi de trepte Δ tși găsiți valorile corespunzătoare AȘi Bîn timp, după următoarele formule Euler:

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

Calcul la Δ t= 2 (Tabelul 10.3).

Se observă fenomenul de „slăbire” (vezi Fig. 10.6). Soluție nesustenabilă. Din considerente fizice, este evident că două corpuri nu se pot comporta astfel în procesul de schimb de căldură.

Orez. 10.6. Sistemul se comporta bine
gresit. Soluția este instabilă

Calcul la Δ t= 1 (Tabelul 10.4).

Tabelul 10.4.
Schimbarea temperaturii
corpuri la numeric
calcul in pasi de 1

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

Se observă comportamentul soluției sistemului pe limita de stabilitate (vezi Fig. 10.7).

Orez. 10.7. Sistemul se comporta bine
gresit. Soluția este în pragul durabilității

Calcul la Δ t= 0,5 (Tabelul 10.5).

Tabelul 10.5.
Schimbarea temperaturii
corpuri la numeric
calcul în trepte de 0,5

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

Soluția este stabilă și corespunde imaginii calitative corecte (vezi Fig. 10.8). Temperaturile corpului se apropie treptat una de alta și devin aceleași în timp. Dar soluția are încă o eroare mare.

Orez. 10.8. Sistemul se comportă calitativ corect.
Soluția (comportamentul sistemului) are o eroare mare

Calcul la Δ t= 0,1 (Tabelul 10.6).

Tabelul 10.6.
Schimbarea temperaturii
corpuri la numeric
calcul în trepte de 0,1

Etapa
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

Soluția este stabilă. Soluția este mai precisă (vezi Fig. 10.9).

Orez. 10.9. Sistemul se comportă calitativ corect.
Soluția cantitativă este mai precisă

Rolul schimbării mărimii pasului este ilustrat în Fig. 10.10.

Orez. 10.10. Relația dintre dimensiunea etapei de calcul și stabilitatea metodei și acuratețea acesteia (folosind un exemplu)

metoda lui Euler. Metoda Euler îmbunătățită.
Metoda clasică Runge-Kutta

Matematica computațională și ecuațiile diferențiale nu au fost cruțate! Astăzi la clasă vom învăța elementele de bază calcule aproximativeîn această secțiune de analiză matematică, după care cărți groase, foarte groase pe această temă se vor deschide cu căldură înaintea ta. Deoarece matematica computațională nu a ocolit încă partea de difuzie =)

Metodele enumerate în titlu sunt menite să închide gasirea solutiilor ecuatii diferentiale , sisteme de telecomandă, iar o scurtă declarație a celei mai frecvente probleme este următoarea:

Sa luam in considerare ecuație diferențială de ordinul întâi , pentru care doriți să găsiți soluție privată, corespunzătoare condiției inițiale. Ce înseamnă? Asta înseamnă că trebuie să găsim funcţie (se presupune existența sa), care satisface acest difer. ecuație, iar graficul căruia trece prin punct.

Dar iată problema: este imposibil să separăm variabilele din ecuație. În niciun caz nu este cunoscută științei. Și dacă este posibil, atunci se dovedește incasabil integrală. Cu toate acestea, o soluție anume există! Și aici vin în ajutor metode de calcule aproximative, care permit cu mare (și adesea cu cea mai mare)„simulați” cu precizie o funcție pe un anumit interval.

Ideea metodelor Euler și Runge-Kutta este de a înlocui o porțiune a graficului linie frântă, iar acum vom afla cum este implementată această idee în practică. Și nu numai că vom afla, ci și o vom implementa direct =) Să începem cu prima și cea mai simplă metodă din punct de vedere istoric. ...Vrei să te ocupi de o ecuație diferențială complexă? asta nu vreau nici eu :)

Exercițiu

Găsiți o anumită soluție a ecuației diferențiale corespunzătoare condiției inițiale folosind metoda Euler pe un segment cu un pas. Construiți un tabel și un grafic al unei soluții aproximative.

Să ne dăm seama. În primul rând, avem în fața noastră cele obișnuite ecuație liniară , care poate fi rezolvată folosind metode standard și, prin urmare, este foarte greu să rezistați tentației de a găsi imediat soluția exactă:

– oricine poate verifica și se poate asigura că această funcție satisface condiția inițială și este rădăcina ecuației.

Ce ar trebui făcut? Trebuie să găsiți și să construiți linie frântă, care aproximează graficul funcției pe interval. Deoarece lungimea acestui interval este egală cu unu, iar pasul este , atunci nostru linie frântă va consta din 10 segmente:

și, punct este deja cunoscută - corespunde condiției inițiale. În plus, coordonatele „X” ale altor puncte sunt evidente:

Tot ce rămâne este de găsit . Nici unul diferenţiere Și integrare – doar adunare și înmulțire! Fiecare valoare „joc” ulterioară este obținută din cea anterioară folosind un simplu recurent formulă:

Să ne imaginăm ecuația diferențială sub forma:

Prin urmare:

„Ne relaxăm” din condiția inițială:

Începem:

Este convenabil să introduceți rezultatele calculului într-un tabel:

Și automatizează calculele în sine în Excel - pentru că în matematică, nu numai un câștig, ci și un sfârșit rapid este important :)

Pe baza rezultatelor coloanei a 2-a și a 3-a, vom reprezenta în desen 11 puncte și 10 segmente care leagă punctele adiacente. Pentru comparație, voi reprezenta soluția parțială exactă :


Un dezavantaj semnificativ al metodei simple Euler este că eroarea este prea mare și este ușor de observat că eroarea tinde să se acumuleze - cu cât ne depărtăm de punct, cu atât în principal discrepanţa dintre aproximare şi adevăr devine mai mare. Acest lucru poate fi explicat prin însuși principiul pe care Euler și-a bazat metoda: segmentele sunt paralele relevante tangentă la graficul funcției în puncte. Acest fapt, apropo, este clar și vizibil în desen.

Cum poți îmbunătăți aproximarea? Primul gând este de a rafina partiția. Să împărțim segmentul, de exemplu, în 20 de părți. Atunci pasul va fi: , și este complet clar că o linie întreruptă de 20 de link-uri va aproxima o anumită soluție mult mai precis. Folosind același Excel, nu va fi dificil să procesăm 100-1000 și chiar un milion (!) de segmente intermediare, dar să ne întrebăm: este posibil să îmbunătățim CALITATIV metoda?

Dar înainte de a dezvălui această problemă, nu pot să nu mă opresc asupra unui nume care a fost menționat de mai multe ori astăzi. Citind biografia lui Leonhard Euler, este pur și simplu uimitor cât de incredibil de mult poate face o persoană în viața sa! Comparativ, mi-am amintit doar de K.F. Gauss. ...Deci vom incerca sa nu pierdem motivatia pentru invatare si noi descoperiri :))

Metoda Euler îmbunătățită

Să luăm în considerare același exemplu: o ecuație diferențială, o anumită soluție care satisface condiția, un interval și împărțirea lui în 10 părți
( – lungimea fiecărei părți).

Scopul îmbunătățirii este de a aduce „pătratele roșii” ale poliliniei mai aproape de „punctele verzi” corespunzătoare ale soluției exacte. .

Și ideea modificării este aceasta: segmentele trebuie să fie paralele tangentă, care sunt desenate pe graficul funcției nu pe marginile din stanga, și „în mijlocul” intervalelor de partiție. Ceea ce, desigur, va îmbunătăți calitatea aproximării.

Algoritmul de soluție funcționează în același sens, dar formula, după cum ați putea ghici, devine mai complicată:
, Unde

Începem să dansăm din nou de la soluția particulară și găsim imediat primul argument al funcției „externe”:

Acum găsim „monstrul” nostru, care s-a dovedit a nu fi atât de înfricoșător - vă rugăm să rețineți că aceasta este aceeași funcție , calculată în alt punct:

Înmulțim rezultatul cu pasul de partiționare:

Prin urmare:

Algoritmul intră în a doua rundă, așa că nu voi fi leneș și îl voi descrie în detaliu:

Luăm în considerare perechea și găsim primul argument al funcției „externe”:

Calculăm și găsim al 2-lea argument:

Să calculăm valoarea:

și produsul său pe pas:

Este rezonabil să efectuați calcule în Excel (replicarea formulelor conform aceleiași scheme - vezi videoclipul de mai sus), și rezumați rezultatele într-un tabel:


Este recomandabil să rotunjiți numerele la 4-5-6 zecimale. Adesea, în condițiile unei anumite sarcini există instruire directă, cu ce precizie trebuie efectuată rotunjirea. Am tăiat valorile puternic „cozile” la 6 cifre.

Pe baza rezultatelor coloanei a 2-a și a 3-a (stânga) hai sa construim linie frântă, iar pentru comparație voi arăta din nou un grafic al soluției exacte :


Rezultatul s-a îmbunătățit semnificativ! – pătratele roșii sunt practic „ascunse” în spatele punctelor verzi ale soluției exacte.

Cu toate acestea, nu există limite pentru perfecțiune. Un cap e bun, dar doi mai buni. Și din nou germană:

Metoda clasică Runge-Kutta de ordinul 4

Scopul său este să aducă „pătratele roșii” și mai aproape de „punctele verzi”. Te întrebi, unde și mai aproape? În multe studii, în special cele fizice, al 10-lea, sau chiar al 50-lea, este FUNDAMENTAL important exacte zecimală. Nu, o asemenea acuratețe poate fi obținută metoda simpla Euler, dar în CATE părți va trebui împărțit intervalul?! ...Deși, cu puterea de calcul modernă, aceasta nu este o problemă - mii de stokers chinezi nava spatiala garantat!

Și, după cum sugerează corect titlul, atunci când utilizați metoda Runge-Kutta la fiecare pas va trebui să calculăm valoarea funcției de 4 ori (spre deosebire de calculul dublu din paragraful anterior). Dar această sarcină este destul de ușor de gestionat dacă angajezi chinezi. Fiecare valoare „joc” ulterioară este obținută din cea anterioară - prindem formulele:
, Unde , Unde:

Gata? Ei bine, atunci hai sa incepem :))


Prin urmare:

Prima linie este programată și copiez formulele astfel:


Nu credeam că voi trece peste metoda Runge-Kutta atât de repede =)

Nu are rost în desen pentru că nu mai este reprezentativ. Să facem o comparație analitică mai bună precizie trei metode, deoarece atunci când se cunoaşte soluţia exactă , atunci este un păcat să nu compari. Valorile funcției la punctele nodale sunt ușor de calculat în Excel - introducem formula o dată și o reproducem în rest.

În tabelul de mai jos voi rezuma valorile (pentru fiecare dintre cele trei metode) și cele corespunzătoare erori absolute calcule aproximative:


După cum puteți vedea, metoda Runge-Kutta oferă deja 4-5 zecimale corecte față de 2 zecimale corecte ale metodei Euler îmbunătățite! Și acesta nu este un accident:

– Eroarea metodei „obișnuite” Euler nu depășește Etapa despărțitori. Și de fapt - uitați-vă la coloana de erori din stânga - există doar un zero după zecimale, ceea ce ne spune că precizia este 0,1.

– Metoda Euler îmbunătățită garantează acuratețea: (uitați-vă la 2 zerouri după punctul zecimal din coloana de eroare din mijloc).

– Și în sfârșit, metoda clasică Runge-Kutta asigură acuratețea .

Estimările de eroare prezentate sunt strict justificate teoretic.

Cum puteți îmbunătăți acuratețea aproximării MAI MULT? Răspunsul este de-a dreptul filozofic: calitate și/sau cantitate =) În special, există și alte modificări, mai precise, ale metodei Runge-Kutta. Calea cantitativă, așa cum sa menționat deja, este reducerea pasului, adică. în împărţirea unui segment într-un număr mai mare de segmente intermediare. Și cu creșterea acestui număr, o linie întreruptă va arăta din ce în ce mai mult cu graficul soluției exacte Și in limita- va coincide cu el.

În matematică această proprietate se numește redresarea curbei. Apropo (mic offtopic), nu totul poate fi „îndreptat” - recomand citirea celor mai interesante, în care reducerea „zonei de studiu” nu implică simplificarea obiectului de studiu.

S-a întâmplat că am analizat o singură ecuație diferențială și, prin urmare, câteva comentarii suplimentare. Ce altceva trebuie să ții cont în practică? În enunțul problemei, vi se poate oferi un alt segment și o partiție diferită, iar uneori se găsește următoarea formulare: „a găsi folosind metoda... ...pe interval, împărțind-o în 5 părți”. În acest caz, trebuie să găsiți pasul de partiție , apoi urmați schema de soluție obișnuită. Apropo, condiția inițială ar trebui să fie de următoarea formă: , adică „x zero”, de regulă, coincide cu capătul din stânga al segmentului. Figurat vorbind, linia întreruptă „iese” întotdeauna din punct de vedere.

Avantajul neîndoielnic al metodelor luate în considerare este faptul că ele sunt aplicabile ecuațiilor cu o parte dreaptă foarte complexă. Și dezavantajul absolut este că nu orice difuzor poate fi prezentat în această formă.

Dar aproape totul în această viață poate fi reparat! - la urma urmei, am examinat doar o mică parte din subiect, iar fraza mea despre cărți groase, foarte groase nu a fost deloc o glumă. Există o mare varietate de metode aproximative pentru găsirea de soluții la ecuații diferențiale și sistemele acestora, care utilizează, printre altele, abordări fundamental diferite. Deci, de exemplu, o anumită soluție poate fi aproximativ prin serie de puteri . Totuși, acesta este un articol pentru altă secțiune.

Sper că am reușit să diversific matematica computațională plictisitoare și ți s-a părut interesant!

Vă mulțumim pentru atenție!





eroare: Continut protejat!!