Моделирование колебательных процессов (на примере физических задач). Щеглова И. Ю - 9 стр.

UptoLike

Рубрика: 

Решение дифференциальных уравнений численным методом 9
или
Δ+
Δ+
+
+
.
;),,(
1
1
xyyy
xyyxfyy
iii
iiiii
&
&&&
(8*)
Существенно увеличить точность расчетов при том же шаге Δх можно
следующим образом. Значение производной
(
)
xy
&
вычисляют не в начале, а в
середине подинтервала
[]
1
;
+ii
xx . Тем самым, мы приходим к методу половинного
интервала, который также называют уточненным методом Эйлера:
Δ
+
Δ
+
Δ
+
+
+
.
d
d
;
d
d
,,
d
d
d
d
;
2d
d
,,
d
d
d
d
1
2/12/12/1
2/1
x
x
y
yy
x
x
y
yxf
x
y
x
y
x
x
y
yxf
x
y
x
y
i
ii
i
ii
ii
o
oo
o
(9)
или
Δ+
Δ+
Δ+
+
+
.
;),,(
;2),,(
1
2/12/12/1
2/1
xyyy
xyyxfyy
xyyxfyy
iii
iiiii
oooo
&
&&&
&&&
(9*)
Здесь
2/1
y
&
значение функции
(
)
xy
&
в середине первого подинтервала
[]
1
; xx
o
,
2/1+i
y
&
значение функции
(
)
xy
&
в середине подинтервала
[]
1
;
+ii
xx .
Алгоритм решения ДУ второго порядка уточненным методом Эйлера:
1. Составить ДУ второго порядка в виде (4) или (4*) и перейти к
приближенным равенствам (5) и (6).
2. Задать начальные условия (х
о
, у
о
,
()
o
o
xy
x
y
&
=
d
d
). Смоделировать два разных
набора значений переменной х с шагом Δх
1) для функции
()
xy
&
:
х
о
2
2/1
x
xx
o
Δ
+=
xxx Δ+=
2/12/3
xxx Δ+=
2/32/5
xxx
ii
Δ+=
+ 2/12/1
2) для функции
()
xy
:
х
о
xxx
o
Δ
+
=
1
xxx Δ
+
=
12
xxx Δ
+
=
23
xxx
ii
Δ+
=
+1
3. Вычислить значение функции
(
)
xy
&
в середине первого интервала, т.е. в
Решение дифференциальных уравнений численным методом                                                             9


или
     ⎧ y& i +1 ≈ y& i + f ( xi , yi , y& i ) ⋅ Δx;
     ⎨                                                                      (8*)
       y
     ⎩ i +1    ≈ y  i + y
                        & i ⋅ Δx .
      Существенно увеличить точность расчетов при том же шаге Δх можно
следующим образом. Значение производной y& ( x ) вычисляют не в начале, а в
середине подинтервала [xi ; xi+1 ] . Тем самым, мы приходим к методу половинного
интервала, который также называют уточненным методом Эйлера:
      ⎧⎛ dy ⎞             ⎛ dy ⎞             ⎛           ⎛ dy ⎞ ⎞ Δx
      ⎪⎜ ⎟ ≈ ⎜ ⎟ + f ⎜⎜ xo , y o , ⎜ ⎟ ⎟⎟ ⋅ ;
      ⎪⎝ dx ⎠1 / 2 ⎝ dx ⎠ o                  ⎝           ⎝ dx ⎠ o ⎠ 2
      ⎪⎪⎛ dy ⎞              ⎛ dy ⎞                 ⎛           ⎛ dy ⎞           ⎞
       ⎨⎜ ⎟               ≈⎜ ⎟                + f ⎜⎜ xi , yi , ⎜ ⎟              ⎟⎟ ⋅ Δx;                        (9)
       ⎪ ⎝ d x ⎠ i +1 / 2   ⎝ d x ⎠ i −1 / 2       ⎝           ⎝ d x ⎠ i −1 / 2 ⎠
       ⎪                   ⎛ dy ⎞
       ⎪ yi +1 ≈ yi + ⎜ ⎟ ⋅ Δx.
       ⎪⎩                  ⎝ dx ⎠ i
или
       ⎧ y&1 / 2 ≈ y& o + f ( xo , y o , y& o ) ⋅ Δx 2 ;
       ⎪
       ⎨ y& i +1 / 2 ≈ y& i −1 / 2 + f ( xi , yi , y& i −1 / 2 ) ⋅ Δx;                    (9*)
       ⎪ y ≈ y + y& ⋅ Δx.
       ⎩ i +1           i        i

         Здесь y&1 / 2 – значение функции y& ( x ) в середине первого подинтервала
[xo ; x1 ], y& i +1 / 2 – значение функции y& (x ) в середине подинтервала [xi ; xi+1 ] .
         Алгоритм решения ДУ второго порядка уточненным методом Эйлера:
   1. Составить ДУ второго порядка в виде (4) или (4*) и перейти к
приближенным равенствам (5) и (6).
                                                                     ⎛ dy ⎞
   2. Задать начальные условия (хо, уо, ⎜ ⎟ = y& ( xo ) ). Смоделировать два разных
                                                                     ⎝ dx ⎠ o
набора значений переменной х с шагом Δх
         1) для функции y& ( x ) :                                                   2) для функции y ( x ) :
                  хо                                                                       хо
                   x1 / 2 = xo + Δx                                                        x1 = xo + Δx
                                        2
                                                                                           x2 = x1 + Δx
                   x3 / 2 = x1 / 2   + Δx
                                                                                           x3 = x2 + Δx
                   x5 / 2 = x3 / 2 + Δx
                                                                                           …
                  …
                                                                                           xi +1 = xi + Δx
                  xi +1 / 2 = xi −1 / 2 + Δx
                                                   …
           …
  3. Вычислить значение функции y& ( x ) в середине первого интервала, т.е. в