Составители:
87
while. Созданные программные функции Euler и RK4 возвращают зна-
чение вектора x(t2) для системы уравнений
(, ).
ft
=
xx
Аргументы функций Euler и RK4: x1 – вектор начальных условий
для момента времени t1, N – число шагов интегрирования, f – правая
Рис. 42. Использование рекурсивных определений функции
insimp f a
,
b
,
N
,
()s0
←
w
ba
−
N
←
φ
fa w
−
iw
⋅+
()4fa
w
2
−
iw
⋅+
⋅+
fa iw
⋅+
(
)
+←
ssw
φ
6
⋅+←
i1N
..∈
for
s
:=
Функция интегрирования с адаптивным выбором шага
adapt f a
,
b
,
( ) x insimp f a
,
b
,
10
,
()
←
x x insimp f a
,
b
,
5
,
()
−
TOL
≤
if
adapt f a
,
ab
+
2
,
adapt f
ab
+
2
,
b
,
+
otherwise
:=
Точность интегрирования адаптивным алгоритмом определяется
постоянной TOL, а методом Симпсона - количеством шагов N.
TOL 1 10
3−
×=
fx( ) log x( ) sin x()
⋅:=
adapt f 10
15−
,
1
,
()
0.1040653749
−=
insimp f 10
15−
,
1
,
100
,
()
0.1041480801
−=