Mathcad. Лабораторный практикум. Найханов В.В. - 39 стр.

UptoLike

Составители: 

39
жет быть жесткой (Stiffb, Stiffr), функции системы могут гладкими (Bulstoer)
или плавными (Rkadap). Нередко приходится пробовать несколько методов
на одном дифференциальном уравнении (на одной системе), чтобы опреде-
лить, какой метод лучше. Как известно, что решение гладкое, используется
функция Bulstoer, куда заложен метод Бурлиш-Штера, а не Рунге-Кутта, ис-
пользуемый
функцией rkfixed. В этом случае решение будет точнее. Можно
решить задачу более точно (более быстро), если уменьшить шаг там, где
производная меняется быстро, и увеличить шаг там, где она ведет более спо-
койно. Для этого предусмотрена функция Rkadap. Но, несмотря на то что она
при решении дифференциального уравнения использует непостоянный шаг
,
функция Rkadap представит ответ для точек, находящихся на одинаковом
расстоянии, заданном пользователем. Система дифференциальных уравне-
ний, записанная в матричной форме y=A
x, где Aпочти вырожденная мат-
рица, называется жесткой. При решении жестких систем следует использо-
вать одну из двух встроенных функций, разработанных специально для таких
случаев: Stiffb и Stiffr. Они используют метод Булирш-Штера (b) или Розен-
брока (r). Функции, начинающиеся со строчной буквы, дают решения только
для конечной точки. Для
решения двухточечных краевых задач предназначе-
ны функции: sbval и bvalfit. Для решения дифференциальных уравнений
Пуассона (в частных производных второго порядка) и уравнений Лапласа в
систему введены следующие функции: bvalfit, multigird, relax, sbval. Большое
число примеров на решение дифференциальных уравнений с описанными
функциями дается в подсказках QuickSheets, размещенных в центре ресур-
сов.
3. Пример решения обыкновенного дифференциального уравнения.
Решение системы из двух дифференциальных уравнений
методом Рунге-Кутта с фиксированным шагом
Вектор начальных
условий
μ 0.1:=
Параметр системы
X
0
1
:=
Система нелинейных
дифференциальных
уравнений
Dt X,()
μ X
0
X
1
X
0
()
2
X
1
()
2
+
X
0
μ X
1
X
0
+ X
0
()
2
X
1
()
2
+
X
1
:=
Z rkfixed X 0, 20, 100, D,():= n099..:=
Задание решения
0 20406080100
1
0
1
Z
n1,
Z
n2,
n
                                                       39


жет быть жесткой (Stiffb, Stiffr), функции системы могут гладкими (Bulstoer)
или плавными (Rkadap). Нередко приходится пробовать несколько методов
на одном дифференциальном уравнении (на одной системе), чтобы опреде-
лить, какой метод лучше. Как известно, что решение гладкое, используется
функция Bulstoer, куда заложен метод Бурлиш-Штера, а не Рунге-Кутта, ис-
пользуемый функцией rkfixed. В этом случае решение будет точнее. Можно
решить задачу более точно (более быстро), если уменьшить шаг там, где
производная меняется быстро, и увеличить шаг там, где она ведет более спо-
койно. Для этого предусмотрена функция Rkadap. Но, несмотря на то что она
при решении дифференциального уравнения использует непостоянный шаг,
функция Rkadap представит ответ для точек, находящихся на одинаковом
расстоянии, заданном пользователем. Система дифференциальных уравне-
ний, записанная в матричной форме y=A⋅x, где A – почти вырожденная мат-
рица, называется жесткой. При решении жестких систем следует использо-
вать одну из двух встроенных функций, разработанных специально для таких
случаев: Stiffb и Stiffr. Они используют метод Булирш-Штера (b) или Розен-
брока (r). Функции, начинающиеся со строчной буквы, дают решения только
для конечной точки. Для решения двухточечных краевых задач предназначе-
ны функции: sbval и bvalfit. Для решения дифференциальных уравнений
Пуассона (в частных производных второго порядка) и уравнений Лапласа в
систему введены следующие функции: bvalfit, multigird, relax, sbval. Большое
число примеров на решение дифференциальных уравнений с описанными
функциями дается в подсказках QuickSheets, размещенных в центре ресур-
сов.

   3. Пример решения обыкновенного дифференциального уравнения.

             Решение системы из двух дифференциальных уравнений
             методом Рунге-Кутта с фиксированным шагом


                         Параметр системы             X := ⎜
                                                            ⎛ 0⎞             Вектор начальных
           μ := −0.1                                           ⎟             условий
                                                            ⎝ 1⎠
                       ⎡ μ ⋅ X0 − X1 − ⎡⎣ ( X0) 2 + ( X1) 2 ⎤⎦ ⋅ X0   ⎤     Система нелинейных
          D( t , X) := ⎢                                              ⎥     дифференциальных
                       ⎢ μ ⋅ X + X − ⎡ ( X )2 + ( X )2 ⎤ ⋅ X          ⎥     уравнений
                       ⎣      1    0    ⎣ 0            1 ⎦        1   ⎦
           Z := rkfixed( X , 0 , 20, 100, D)       n := 0 .. 99           Задание решения


                        1



                Zn ,1
                        0
                Zn ,2




                        1
                            0           20            40              60          80        100
                                                               n