Вычисление допустимых начальных условий для ode15i
[y0_new,yp0_new]
= decic(odefun,t0,y0,fixed_y0,yp0,fixed_yp0)
[y0_new,yp0_new]
= decic(odefun,t0,y0,fixed_y0,yp0,fixed_yp0,options)
[y0_new,yp0_new,resnrm]
= decic(___)
[
использование y0_new
,yp0_new
]
= decic(odefun
,t0
,y0
,fixed_y0
,yp0
,fixed_yp0
)y0
и yp0
как предположения для начальных условий полностью неявной функции odefun
, содержит компоненты, заданные fixed_y0
и fixed_yp0
, как зафиксировано, затем вычисляет значения для нефиксированных компонентов. Результатом является полный набор сопоставимых начальных условий. Новые значения yo_new
и yp0_new
удовлетворяют odefun(t0,y0_new,yp0_new) = 0
и подходят, чтобы использоваться в качестве начальных условий с ode15i
.
ihb1dae
и файлы iburgersode
в качестве примера используют decic
, чтобы вычислить сопоставимые начальные условия прежде, чем решить с ode15i
. Введите edit ihb1dae
или edit iburgersode
, чтобы просмотреть код.
Можно дополнительно использовать decic
, чтобы вычислить сопоставимые начальные условия для ДАУ, решенных ode15s
или ode23t
. Для этого выполните эти шаги.
Перепишите систему уравнений в полностью неявной форме f(t,y,y') = 0
.
Вызовите decic
, чтобы вычислить сопоставимые начальные условия для уравнений.
Задайте y0_new
как начальное условие в вызове решателя и задайте yp_new
как значение опции InitialSlope
odeset
.