Практические задания по высшей математике с применением программы Maxima для студентов, обучающихся по специальности "социология". Абзалилов Д.Ф - 74 стр.

UptoLike

Рубрика: 

§ 27. Численное решение дифференциальных
уравнений и систем
Для численного решения дифференциальных уравнений и систем необходи-
мо предварительно загрузить пакет dynamics:
-->
load(dynamics );
27.1. Численное решение ДУ первого порядка Численное инте-
грирование дифференциального уравне ния методом Рунге Кутта вып олняется
коман д ой rk(). Предварительно дифференциальное уравне н ие необходимо за-
писать в виде y
= f(x, y), то есть выр азить производную в явном виде.
Численное решение рассмотрим на примере. Проинтегрируем уравнение
y
= 1 2y. Пра вую часть уравнения сохраним под именем eqn:
-->
eqn: 1-2*y;
Интегрирование проведем на отрезке от 0 до 3 с шагом 0.1 при начальном
условии y(0) = 0. Результа т запишем под именем pts:
-->
pts: rk(eqn, y, 0, [x, 0, 3, 0.1]);
В результате получим 31 пару чисел [x
i
, y
i
]. Их можно из образить в виде
графика командой plot2d с опцией d iscrete:
-->
wxplot2d([dis crete, pts])$
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0 0.5 1 1.5 2 2.5 3
y
x
27.2. Численное решение систем дифференциальных уравне-
ний. Системы дифференциальны х урав н ений решаются с исп ользованием той
74
§ 27.    Численное решение дифференциальных
         уравнений и систем

    Для численного решения дифференциальных уравнений и систем необходи-
мо предварительно загрузить пакет dynamics:
    --> load(dynamics);
    27.1. Численное решение ДУ первого порядка Численное инте-
грирование дифференциального уравнения методом Рунге – Кутта выполняется
командой rk(). Предварительно дифференциальное уравнение необходимо за-
писать в виде y ′ = f (x, y), то есть выразить производную в явном виде.
    Численное решение рассмотрим на примере. Проинтегрируем уравнение
y ′ = 1 − 2y. Правую часть уравнения сохраним под именем eqn:
    --> eqn: 1-2*y;
    Интегрирование проведем на отрезке от 0 до 3 с шагом 0.1 при начальном
условии y(0) = 0. Результат запишем под именем pts:
    --> pts: rk(eqn, y, 0, [x, 0, 3, 0.1]);
    В результате получим 31 пару чисел [xi, yi ]. Их можно изобразить в виде
графика командой plot2d с опцией discrete:
    --> wxplot2d([discrete, pts])$

                         0.5

                        0.45

                         0.4

                        0.35

                         0.3

                        0.25
                    y




                         0.2

                        0.15

                         0.1

                        0.05

                          0
                               0   0.5   1        1.5   2   2.5   3
                                                  x




    27.2. Численное решение систем дифференциальных уравне-
ний. Системы дифференциальных уравнений решаются с использованием той


                                             74