检查方程组的微分指标是否小于2
检查一阶半线性DAEs系统是否具有低微分指标(0
或1
).
创建以下由两个微分代数方程组成的系统。在这里,x (t)
和y (t)
是系统的状态变量。将方程和变量指定为两个符号向量:方程作为符号方程的向量,变量作为符号函数调用的向量。
信谊x (t) y (t)方程式= [diff (x (t) t) = = x (t) + y (t) x (t) ^ 2 + y (t) ^ 2 = = 1];var = [x(t), y(t)];
使用isLowIndexDAE
检查系统的微分顺序。这个系统的微分阶是1
.对于索引系统0
和1
,isLowIndexDAE
返回1
(真正的
).
isLowIndexDAE(方程式一样,var)
逻辑1
检查以下DAE系统是否有一个低或高的差分指标。如果指数高于1
,然后用reduceDAEIndex
减少它。
创建以下由两个微分代数方程组成的系统。在这里,x (t)
,y (t)
,z (t)
是系统的状态变量。将方程和变量指定为两个符号向量:方程作为符号方程的向量,变量作为符号函数调用的向量。
信谊x (t) y (t) z (t) f (t)方程式= [diff (x (t) t) = = x (t) + z (t)……Diff (y(t),t) = f(t), x(t) = y(t)];var = [x(t), y(t), z(t)];
使用isLowIndexDAE
查看系统的微分指标。对于这个系统isLowIndexDAE
返回0
(假
).这意味着系统的微分指标为2
或更高版本。
isLowIndexDAE(方程式一样,var)
逻辑0
使用reduceDAEIndex
重写这个方程组,使微分指标是1
.用四个输出参数调用这个函数还会显示原始系统的微分索引。新系统有一个额外的状态变量,Dyt (t)
.
[newEqs, newVars, ~, oldIndex] = reduceDAEIndex(eqs, vars)
newEqs = diff (x (t), t) - z (t) x (t) Dyt (t) - f (t) x (t) - y (t) diff (x (t) t) - Dyt (t) newVars = x (t) y (t) z (t) Dyt (t) oldIndex = 2
检查新系统的微分顺序是否低于2
.
isLowIndexDAE (newEqs newVars)
逻辑1
daeFunction
|decic
|findDecoupledBlocks
|incidenceMatrix
|massMatrixForm
|odeFunction
|reduceDAEIndex
|reduceDAEToODE
|reduceDifferentialOrder
|reduceRedundancies