Решение умеренно жестких ОДУ и ДАУ — метод трапеций
[
, где t
,y
] =
ode23t(odefun
,tspan
,y0
)tspan = [t0 tf]
, интегрирует систему дифференциальных уравнений от t0
к tf
с начальными условиями y0
. Каждая строка в массиве решения y
соответствует значению, возвращенному в вектор-столбце t
.
Весь MATLAB® Решатели ОДУ могут решить системы уравнений формы , или проблемы, которые включают большую матрицу, . Решатели все использование подобные синтаксисы. ode23s
решатель только может решить задачи с большой матрицей, если большая матрица является постоянной. ode15s
и ode23t
может решить задачи с большой матрицей, которая сингулярна, известна как дифференциально-алгебраические уравнения (ДАУ). Задайте большую матрицу с помощью Mass
опция odeset
.
[
также использует настройки интегрирования, заданные t
,y
] =
ode23t(odefun
,tspan
,y0
,options
)options
, то, которое является аргументом, создало использование odeset
функция. Например, используйте AbsTol
и RelTol
опции, чтобы задать допуски абсолютной и относительной погрешности или Mass
опция, чтобы обеспечить большую матрицу.
[
дополнительно находит, где функции (t, y), вызвал функции события, являются нулем. В выходе, t
,y
,te
,ye
,ie
]
= ode23t(odefun
,tspan
,y0
,options
)te
время события, ye
решение во время события и ie
индекс инициированного события.
Для каждой функции события задайте, должно ли интегрирование завершить работу в нуле и имеет ли направление нулевого пересечения значение. Сделайте это путем установки 'Events'
свойство к функции, такой как myEventFcn
или @myEventFcn
, и создание соответствующей функции: Значение
, isterminal
, direction
] = myEventFcn
T
Y
). Для получения дополнительной информации смотрите Местоположение События ОДУ.
возвращает структуру, которую можно использовать с sol
= ode23t(___)deval
оценивать решение в любой точке на интервале [t0 tf]
. Можно использовать любую из комбинаций входных аргументов в предыдущих синтаксисах.
ode23t
реализация метода трапеций с помощью “свободного” interpolant. Этот решатель предпочтен по ode15s
если проблема только умеренно жестка, и вам нужно решение без числового затухания. ode23t
также может решить дифференциальные алгебраические уравнения (ДАУ) [1], [2].
[1] Шемпин, L. F. М. В. Рейчелт и Дж.А. Кирженка, “Решая ДАУ индекса 1 в MATLAB и Simulink”, Анализ SIAM, Издание 41, 1999, стр 538–552.
[2] Шемпин, L. F. и М. Э. Осия, “Анализ и реализация TR-BDF2”, прикладная числовая математика 20, 1996.