Решение жестких дифференциальных уравнений - метод низкого порядка точности
[
, где t
,y
] =
ode23s(odefun
,tspan
,y0
)tspan = [t0 tf]
, интегрирует систему дифференциальных уравнений от t0
на tf
с начальными условиями y0
. Каждая строка массива решений y
соответствует значению, возвращаемому в вектор-столбец t
.
Все MATLAB® Решатели ОДУ могут решить системы уравнений вида , или задачи, которые включают большую матрицу, . Все решатели используют аналогичные синтаксисы. ode23s
решатель может решить задачи только с большой матрицей, если большая матрица постоянна. ode15s
и ode23t
может решить задачи с большой матрицей, сингулярной, известной как дифференциально-алгебраические уравнения (ДАУ). Задайте большую матрицу используя Mass
опция odeset
.
[
также использует настройки интегрирования, заданные как t
,y
] =
ode23s(odefun
,tspan
,y0
,options
)options
, который является аргументом, созданным с помощью odeset
функция. Для примера используйте AbsTol
и RelTol
опции для задания абсолютных и относительная погрешность допусков или Mass
опция для задания большой матрицы.
[
дополнительно находит, где функции (t, y), называемые функциями события, равны нулю. В выходах t
,y
,te
,ye
,ie
]
= ode23s(odefun
,tspan
,y0
,options
)te
- время события, ye
является решением во время события и ie
- индекс инициируемого события.
Для каждой функции события задайте, должно ли интегрирование завершаться на нуле и имеет ли значение направление пересечения нуля. Сделайте это, установив 'Events'
свойство функции, например myEventFcn
или @myEventFcn
, и создание соответствующей функции: [value
, isterminal
, direction
] = myEventFcn
(t
, y
). Для получения дополнительной информации смотрите Расположение события ОДУ.
возвращает структуру, которую можно использовать с sol
= ode23s(___)deval
для оценки решения в любой точке интервала [t0 tf]
. Можно использовать любой из комбинаций входных аргументов в предыдущих синтаксисах.
ode23s
основан на модифицированной формуле Розенбрка порядка 2. Поскольку это одношаговый решатель, он может быть более эффективным, чем ode15s
при решении задач, которые допускают допуски на сырую нефть или проблемы с решениями, которые изменяются быстро. Это может решить некоторые виды жестких задач, для которых ode15s
не эффективен. ode23s
решатель оценивает якобиан во время каждого шага интегрирования, поэтому предоставление ему матрицы якобиана очень важно для его надежности и эффективности [1].
[1] шемпин, L. F. and M. W. Reichelt, «The MATLAB ODE Suite», SIAM Journal on Scientific Computing, Vol. 18, 1997, pp. 1-22.