Решение умеренно жестких ОДУ и ДАУ - метод трапеций
[
, где 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
, и создание соответствующей функции: [value
, isterminal
, direction
] = myEventFcn
(t
, y
). Для получения дополнительной информации смотрите Расположение события ОДУ.
возвращает структуру, которую можно использовать с sol
= ode23t(___)deval
для оценки решения в любой точке интервала [t0 tf]
. Можно использовать любой из комбинаций входных аргументов в предыдущих синтаксисах.
ode23t
является реализацией метода трапеций с использованием «свободной» интерполяции. Этот решатель предпочтительнее ode15s
если задача является только умеренно жесткой, и вам нужно решение без численного демпфирования. ode23t
также может решить дифференциальные алгебраические уравнения (ДАУ) [1], [2].
[1] шемпин, L. F., M. W. Reichelt, and J.A. Кирженка, «Solving Index-1 DAEs in MATLAB and Simulink», SIAM Review, Vol. 41, 1999, pp. 538-552.
[2] шемпин, L. F. and M. E. Hosea, «Analysis and Implementation of TR-BDF2,» Applied Numerical Mathematics 20, 1996.