Решите жесткие дифференциальные уравнения — метод низкоуровневый
[t,y] = ode23s(odefun,tspan,y0)[t,y] = ode23s(odefun,tspan,y0,options)[t,y,te,ye,ie] = ode23s(odefun,tspan,y0,options)sol = ode23s(___), где [t,y] = ode23s(odefun,tspan,y0)tspan = [t0 tf], интегрирует систему дифференциальных уравнений от t0 до tf с начальными условиями y0. Каждая строка в массиве решения y соответствует значению, возвращенному в векторе - столбце t.
Все решатели MATLAB® ODE могут решить системы уравнений формы , или проблемы, которые включают большую матрицу, . Решатели все использование подобные синтаксисы. Решатель 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. и М. W. Рейчелт, “Пакет ODE MATLAB”, SIAM Journal на Научных вычислениях, Издании 18, 1997, стр 1–22.