Решение умеренно жестких ОДУ и ДАУ — метод трапеций
[t,y] =
ode23t(odefun,tspan,y0)[t,y] =
ode23t(odefun,tspan,y0,options)[t,y,te,ye,ie]
= ode23t(odefun,tspan,y0,options)sol = ode23t(___)[, где t,y] =
ode23t(odefun,tspan,y0)tspan = [t0 tf], интегрирует систему дифференциальных уравнений от t0 до tf с начальными условиями y0. Каждая строка в массиве решения y соответствует значению, возвращенному в вектор-столбце t.
Все решатели MATLAB® ODE могут решить системы уравнений формы , или проблемы, которые включают большую матрицу, . Решатели все использование подобные синтаксисы. Решатель 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, и создания соответствующей функции: [value, 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.