Моделирование в MATLAB/Simulink и SCILAB/Scicos - page 232

230
[y,w,iw]=ode([type],y0,t0,t[,rtol [,atol]],f[,jac][,w,iw])
для которой обязательными входными параметрами
являются:
y
0 – вектор начальных условий;
t
0 – начальная точка интервала интегрирования;
t
– координаты узлов сетки, в которых происходит поиск решения;
f
– внешняя функция, определяющая правую часть уравнения или системы
уравнений (25.2);
y
– вектор решений (25.3).
Таким образом, для того чтобы решить обыкновенное дифференциальное
уравнение вида
( ) ( )
0
0
, ,
y ty ytf
dt
dy
=
=
, необходимо вызвать функцию
y
=
ode
(
y
0,
t
0,
t
,
f
).
Рассмотрим необязательные параметры функции
ode
:
type
– параметр, с помощью которого можно выбрать метод решения
или тип решаемой задачи, указав одну из строк:
adamsp –
применяют при решении дифференциальных
уравнений или систем методом прогноза-коррекции Адамса;
stiff –
указывают при решении жестких задач;
rk –
используют при решении дифференциальных уравнений или
систем методом Рунге-Кутта четвертого порядка;
rkf –
указывают при выборе пятиэтапного метода Рунге-Кутта
четвертого порядка;
fix –
тот же метод Рунге-Кутта, но с фиксированным шагом;
rtol
,
atol –
относительная и абсолютная погрешности вычислений,
вектор, размерность которого совпадает с размерностью вектора
y
, по
умолчанию
rtol
= 0.00001,
atol
= 0.0000001, при использовании
параметров
rkf
и
fix
-
rtol
= 0.001,
atol
= 0.0001;
jac
– матрица, представляющая собой якобиан правой части жесткой
системы дифференциальных уравнений, задают матрицу в виде
внешней функции вида
J
=
jak
(
t
,
y
);
w
,
iw
– векторы, предназначенные для сохранения информации о
параметрах интегрирования, которые применяют для того, чтобы
последующие вычисления выполнялись с теми же параметрами.
Рассмотрим использование функции на примере следующих задач.
25. 3. Использование решателей ОДУ
25. 3. 1. Решение задачи Коши
Пример 25.1.
Решить задачу Коши
( ) ( )
,
0 1.5
dx x sin xt x
dt
+ =
=
Перепишем уравнение следующим образом:
( ) ( )
,
0 1.5
dx x sin xt x
dt
= − +
=
1...,222,223,224,225,226,227,228,229,230,231 233,234,235,236,237,238,239,240,241,242,...286
Powered by FlippingBook