Rezolvarea diferențelor

Pentru a rezolva sistemele ODE în MatLAB, sunt implementate diferite metode. Implementarea lor se numește rezolvatori ODE. Solverii implementează următoarele metode pentru rezolvarea sistemelor de ecuații diferențiale:







Toți solverii (ode45, ode23, ode133, ode15s, ode23s, ode23t, ode23tb) pot rezolva sisteme de ecuații cu formă explicită y '= F (t, y). Solversii ode15s, ode23s, ode23t, ode23tb pot rezolva ecuațiile formei implicite F (t, y, y ') = 0.

· Ode45 - metode explicite Runge-Kutta în etapa explicită a ordinelor 4 și 5. În multe cazuri, dă rezultate bune;

· Ode23 - metode explicite Runge-Kutta explicite într-un singur pas de ordinele 2 și 3. Cu o rigiditate moderată a sistemului ODE și cerințe reduse de precizie, această metodă poate da un câștig în viteza soluției;

· Ode133 - metoda Adams-Bashvort-Multon în mai multe etape de ordine variabilă. Aceasta este o metodă adaptivă care poate oferi o precizie ridicată a soluției;







· Ode15s este o metodă în mai multe etape de ordine variabilă (de la 1 la 5, implicit 5), folosind formule numerice de diferențiere. Aceasta este o metodă adaptivă, ea poate fi folosită dacă rezolvătorul ode45 nu oferă o soluție;

· Ode23s este o metodă într-o singură etapă utilizând formula Rosenbrock modificată de ordinul doi. Poate oferi o viteză de calcul ridicată la precizie redusă;

· Ode23t - metoda trapezoidală cu interpolare. Această metodă oferă rezultate bune pentru rezolvarea problemelor care descriu oscilatoarele cu un semnal de ieșire aproape armonic;

· Ode23tb este metoda implicită Runge-Kutta la începutul soluției și o metodă care utilizează formulele de diferențiere inverse de ordinul doi în cele ce urmează. Cu o precizie scăzută, această metodă poate fi mai eficientă decât cea a lui.

În fișierul M numit pr7.m scrie:

Apoi, în fereastra de comandă numim ode113:

Rezultatul este un grafic:

Este necesar să se implementeze metoda Runge-Kutta a ordinului 4 și să se rezolve problema Cauchy pentru sistemul propus de ecuații diferențiale:

În fișierul M numit pr8.m scrie:

Apoi, în fereastra de comandă numim ode45:

[x, y] = ode45 (@ pr8, [1 10], [0,1 0,5]);







Trimiteți-le prietenilor: