Решение жестких дифференциальных уравнений и ДАУ - метод переменного порядка точности
[
, где t
,y
] =
ode15s(odefun
,tspan
,y0
)tspan = [t0 tf]
, интегрирует систему дифференциальных уравнений от t0
на tf
с начальными условиями y0
. Каждая строка массива решений y
соответствует значению, возвращаемому в вектор-столбец t
.
Все MATLAB® Решатели ОДУ могут решить системы уравнений вида , или задачи, которые включают большую матрицу, . Все решатели используют аналогичные синтаксисы. ode23s
решатель может решить задачи только с большой матрицей, если большая матрица постоянна. ode15s
и ode23t
может решить задачи с большой матрицей, сингулярной, известной как дифференциально-алгебраические уравнения (ДАУ). Задайте большую матрицу используя Mass
опция odeset
.
[
также использует настройки интегрирования, заданные как t
,y
] =
ode15s(odefun
,tspan
,y0
,options
)options
, который является аргументом, созданным с помощью odeset
функция. Для примера используйте AbsTol
и RelTol
опции для задания абсолютных и относительная погрешность допусков или Mass
опция для задания большой матрицы.
[
дополнительно находит, где функции (t, y), называемые функциями события, равны нулю. В выходах t
,y
,te
,ye
,ie
]
= ode15s(odefun
,tspan
,y0
,options
)te
- время события, ye
является решением во время события и ie
- индекс инициируемого события.
Для каждой функции события задайте, должно ли интегрирование завершаться на нуле и имеет ли значение направление пересечения нуля. Сделайте это, установив 'Events'
свойство функции, например myEventFcn
или @myEventFcn
, и создание соответствующей функции: [value
, isterminal
, direction
] = myEventFcn
(t
, y
). Для получения дополнительной информации смотрите Расположение события ОДУ.
ode15s
является решателем переменного шага переменного порядка (VSVO), основанным на численных формулах дифференцирования (NDF) порядков 1-5. Опционально он может использовать формулы дифференцирования назад (BDF, также известные как метод Гира), которые обычно менее эффективны. Как ode113
, ode15s
является многоступенчатым решателем. Использовать ode15s
если ode45
отказывает или очень неэффективен, и вы подозреваете, что задача жесткая, или при решении дифференциально-алгебраического уравнения (ДАУ) [1], [2].
[1] шемпин, L. F. and M. W. Reichelt, «The MATLAB ODE Suite», SIAM Journal on Scientific Computing, Vol. 18, 1997, pp. 1-22.
[2] шемпин, L. F., M. W. Reichelt, and J.A. Кирженка, «Solving Index-1 DAEs in MATLAB and Simulink», SIAM Review, Vol. 41, 1999, pp. 538-552.