Численные методы решения инженерных задач в пакете MathCAD. Бедарев И.А - 72 стр.

UptoLike

74
Jxy,()
t
Ft
y
0
y
1
y
2
,
0
t
Ft
y
0
y
1
y
2
,
1
t
Ft
y
0
y
1
y
2
,
2
t
Fx
t
y
1
y
2
,
0
t
Fx
t
y
1
y
2
,
1
t
Fx
t
y
1
y
2
,
2
t
Fx
y
0
t
y
2
,
0
t
Fx
y
0
t
y
2
,
1
t
Fx
y
0
t
y
2
,
2
t
Fx
y
0
y
1
t
,
0
t
Fx
y
0
y
1
t
,
1
t
Fx
y
0
y
1
t
,
2
:=
Jxy,()
01020304050
0
0.5
1
1
0
y0
10
3
y1
y2
47.5
0 x
Первый столбец матрицы J
это вектор производных
функции
F(x, )y
r
по x, а три
правых столбцаякобиан
системы (5.21).
Теперь воспользуемся
функцией
Stiffb для полу-
чения решения:
D Stiffb y0 0, 50, 20, F, J,():=
.
Графики функций
y
0
(x), y
1
(x)
и
y
2
(x), составляющих век-
тор полученного решения,
представлены на рис. 5.9.
Рис. 5.9. Приближенное решение
жесткой системы ОДУ
Для решения этого же примера с помощью методов Рунге
Кутты потребовался бы шаг на два порядка меньший, чем при
использовании функции
Stiffb.
              ⎡ ⎡⎢ ⎡⎢ ⎛⎜ y 0 ⎞⎟⎤⎥ ⎤⎥      ⎡ ⎡ ⎛ t ⎞⎤ ⎤ ⎡ ⎡ ⎛ y 0 ⎞⎤ ⎤ ⎡ ⎡ ⎛ y 0 ⎞⎤ ⎤ ⎤
              ⎢                           ⎢ ⎢ ⎜ y ⎟⎥ ⎥ ∂ ⎢ ⎢ ⎜ ⎟⎥ ⎥ ∂ ⎢ ⎢ ⎜ ⎟⎥ ⎥ ⎥
              ⎢ ∂ ⎢F⎢t , ⎜ y 1 ⎟⎥ 0⎥   ∂
                                          ⎢F⎢x, ⎜ 1 ⎟⎥ 0⎥ ⎢F⎢x, ⎜ t ⎟⎥ 0⎥ ⎢F⎢x, ⎜ y 1 ⎟⎥ 0⎥ ⎥
              ⎢ ∂t ⎢ ⎢ ⎜ ⎟⎥ ⎥          ∂t ⎢ ⎢ ⎜ ⎟⎥ ⎥ ∂t ⎢ ⎢ ⎜ ⎟⎥ ⎥ ∂t ⎢ ⎢ ⎜ ⎟⎥ ⎥ ⎥
              ⎢ ⎢⎣ ⎢⎣ ⎜⎝ y 2 ⎟⎠⎥⎦ ⎥⎦
                                                 y               y
                                          ⎣ ⎣ ⎝ 2 ⎠⎦ ⎦ ⎣ ⎣ ⎝ 2 ⎠⎦ ⎦ ⎣ ⎣ ⎝ t ⎠⎦ ⎦ ⎥
              ⎢                                                                             ⎥
              ⎢ ⎡⎢ ⎡⎢ ⎛⎜ 0 ⎞⎟⎤⎥ ⎤⎥
                           y              ⎡ ⎡ ⎛ t ⎞⎤ ⎤ ⎡ ⎡ ⎛ y 0 ⎞⎤ ⎤ ⎡ ⎡ ⎛ y 0 ⎞⎤ ⎤ ⎥
                                          ⎢ ⎢ ⎜ y ⎟⎥ ⎥ ∂ ⎢ ⎢ ⎜ ⎟⎥ ⎥ ∂ ⎢ ⎢ ⎜ ⎟⎥ ⎥ ⎥
 J( x, y ) := ⎢ ⎢F⎢t , ⎜ y 1 ⎟⎥ 1⎥
                ∂                      ∂
              ⎢ ∂t ⎢ ⎢ ⎜ ⎟⎥ ⎥             ⎢F⎢x, ⎜ 1 ⎟⎥ 1⎥ ⎢F⎢x, ⎜ t ⎟⎥ 1⎥ ⎢F⎢x, ⎜ y 1 ⎟⎥ 1⎥ →
                                       ∂t ⎢ ⎢ ⎜ ⎟⎥ ⎥ ∂t ⎢ ⎢ ⎜ ⎟⎥ ⎥ ∂t ⎢ ⎢ ⎜ ⎟⎥ ⎥ ⎥
              ⎢ ⎢ ⎢ ⎜ y 2 ⎟⎥ ⎥            ⎣ ⎣ ⎝ 2 ⎠⎦ ⎦ ⎣ ⎣ ⎝ 2 ⎠⎦ ⎦ ⎣ ⎣ ⎝ t ⎠⎦ ⎦ ⎥
                                                 y               y
              ⎢ ⎣ ⎣ ⎝ ⎠⎦ ⎦                                                                  ⎥
              ⎢ ⎡⎢ ⎡⎢ ⎛⎜ y 0 ⎞⎟⎤⎥ ⎤⎥      ⎡ ⎡ ⎛ t ⎞⎤ ⎤ ⎡ ⎡ ⎛ y 0 ⎞⎤ ⎤ ⎡ ⎡ ⎛ y 0 ⎞⎤ ⎤ ⎥
              ⎢ ∂ ⎢ ⎢ ⎜ ⎟⎥ ⎥           ∂
                                          ⎢ ⎢ ⎜ y ⎟⎥ ⎥ ∂ ⎢ ⎢ ⎜ ⎟⎥ ⎥ ∂ ⎢ ⎢ ⎜ ⎟⎥ ⎥ ⎥
              ⎢ ⎢F⎢t , ⎜ y 1 ⎟⎥ 2⎥        ⎢F⎢x, ⎜ 1 ⎟⎥ 2⎥ ⎢F⎢x, ⎜ t ⎟⎥ 2⎥ ⎢F⎢x, ⎜ y 1 ⎟⎥ 2⎥ ⎥
              ⎢ ∂t ⎢ ⎢ ⎜ y ⎟⎥ ⎥        ∂t ⎢ ⎢ ⎜ ⎟⎥ ⎥ ∂t ⎢ ⎢ ⎜ ⎟⎥ ⎥ ∂t ⎢ ⎢ ⎜ ⎟⎥ ⎥ ⎥
                                                 y               y
              ⎣ ⎣ ⎣ ⎝ 2 ⎠⎦ ⎦              ⎣ ⎣ ⎝ 2 ⎠⎦ ⎦ ⎣ ⎣ ⎝ 2 ⎠⎦ ⎦ ⎣ ⎣ ⎝ t ⎠⎦ ⎦ ⎦



                     J( x, y ) →


Первый столбец матрицы J                                  1
                                                              1
– это вектор производных
              r
функции F(x, y ) по x, а три
                                                 y0
правых столбца – якобиан                              3
системы (5.21).                                  10 ⋅ y1 0.5

Теперь       воспользуемся                       y2

функцией Stiffb для полу-
чения решения:
                                                          0   0
 D := Stiffb( y0 , 0 , 50, 20, F , J) .                           0   10   20       30   40    50
                                                                  0             x             47.5
Графики функций y0(x), y1(x)  Рис. 5.9. Приближенное решение
и y2(x), составляющих век-         жесткой системы ОДУ
тор полученного решения,
представлены на рис. 5.9.
     Для решения этого же примера с помощью методов Рунге–
Кутты потребовался бы шаг на два порядка меньший, чем при
использовании функции Stiffb.


                                                  74