Математика. Абубакиров Н.Р - 123 стр.

UptoLike

Рубрика: 

123
Например, мы хотим решить дифференциальное уравнение
2
y y x
с
начальным условием
(0) 0.3y
. При этом мы задаем отрезок [0,1], на котором
хотим получить численное решение и шаг разбиения этого отрезка, равный
0.05. Мы должны ввести команду
load(dynamics); rk(y^2+x,y,0.3,[x,0,1,0.05]);
и после того, как мы нажмем клавиши Shift+Enter, получим данные
[[0,0.3],[0.05,0.30583128660202],[0.1,0.31438277172198],[0.15,
0.32574776902574],[0.2,0.34003114365951],[0.25,0.35735268712942],[0.3,
0.37785103897622],[0.35,0.40168830090343],[0.4,0.42905553899765],[0.45,
0.46017943684494],[0.5,0.49533045405802],[0.55,0.53483297195895],[0.6,
0.57907808748734],[0.65,0.62853997325452],[0.7,0.6837970957275],[0.75,
0.74556013793749],[0.8,0.81470931041585],[0.85,0.89234502470182],[0.9,
0.97985793824278],[0.95,1.079027666994073],[1.0,1.192164923146931]].
Это означает, что мы получили узловые значения решения: y(0.05)=
0.30583128660202,…, y(0.4)= 0.42905553899765,…..
Приближенное решение дифференциальных уравнений высших
порядков сводятся к решению систем уравнений первого порядка. Например,
требуется решить дифференциальное уравнение
22
( ) 3 2y x y x y
на
отрезке [0,2] с шагом 0.1 при начальных условиях
(0) 1, (0) 0yy
. Введем
новую функцию
zy
. Теперь уравнение запишется в виде системы
22
,
23
yz
z xz x y
с начальными условиями
(0) 1, (0) 0yz
.
Для получения решения методом Рунге-Кутта вводим команду
load(dynamics); rk([z,2-x*z^2-3*x^2*y], [y,z], [1,0], [x,0,2,0.1]).
Мы получим значения в узлах:
    Например, мы хотим решить дифференциальное уравнение y  y 2  x с
начальным условием y(0)  0.3 . При этом мы задаем отрезок [0,1], на котором
хотим получить численное решение и шаг разбиения этого отрезка, равный
0.05. Мы должны ввести команду

    load(dynamics); rk(y^2+x,y,0.3,[x,0,1,0.05]);

    и после того, как мы нажмем клавиши Shift+Enter, получим данные

     [[0,0.3],[0.05,0.30583128660202],[0.1,0.31438277172198],[0.15,

    0.32574776902574],[0.2,0.34003114365951],[0.25,0.35735268712942],[0.3,

    0.37785103897622],[0.35,0.40168830090343],[0.4,0.42905553899765],[0.45,

    0.46017943684494],[0.5,0.49533045405802],[0.55,0.53483297195895],[0.6,

    0.57907808748734],[0.65,0.62853997325452],[0.7,0.6837970957275],[0.75,

    0.74556013793749],[0.8,0.81470931041585],[0.85,0.89234502470182],[0.9,

    0.97985793824278],[0.95,1.079027666994073],[1.0,1.192164923146931]].

     Это означает, что мы получили узловые значения решения: y(0.05)=
0.30583128660202,…, y(0.4)= 0.42905553899765,…..

    Приближенное решение дифференциальных уравнений высших
порядков сводятся к решению систем уравнений первого порядка. Например,
требуется решить дифференциальное уравнение y  x( y)2  3x2 y  2 на
отрезке [0,2] с шагом 0.1 при начальных условиях y(0)  1, y(0)  0 . Введем
новую функцию z  y . Теперь уравнение запишется в виде системы

        y  z,

 z  2  xz  3x y
             2    2


    с начальными условиями y(0)  1, z(0)  0 .

     Для получения решения методом Рунге-Кутта вводим команду
load(dynamics); rk([z,2-x*z^2-3*x^2*y], [y,z], [1,0], [x,0,2,0.1]).

    Мы получим значения в узлах:

                                      123