主要内容

isLowIndexDAE

检查方程组的微分指数是否小于2

描述

例子

isLowIndexDAE (方程式var检查系统是否方程式一类一阶半线性微分代数方程(DAEs)具有较低的微分指数。如果系统的微分指标为01,然后isLowIndexDAE返回逻辑1(真正的)。的微分索引方程式高于1,然后isLowIndexDAE返回逻辑0(假)。

方程的数量方程式必须匹配变量的数量var

例子

检查DAE系统的差动指标

检查一阶半线性dae系统是否具有较低的微分指数(01).

创建以下两个微分代数方程的系统。在这里,x (t)而且y (t)是系统的状态变量。将方程和变量指定为两个符号向量:将方程指定为符号方程的向量,将变量指定为符号函数调用的向量。

信谊x (t) y (t)方程式= [diff (x (t) t) = = x (t) + y (t) x (t) ^ 2 + y (t) ^ 2 = = 1];Vars = [x(t), y(t)];

使用isLowIndexDAE检查系统的微分顺序。这个方程组的微分阶是1.对于索引系统0而且1isLowIndexDAE返回1真正的).

isLowIndexDAE(方程式一样,var)
Ans =逻辑1

减小DAE系统的差别化指标

检查下列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)];Vars = [x(t), y(t), z(t)];

使用isLowIndexDAE检查系统的差动指标。对于这个系统isLowIndexDAE返回0).这意味着系统的微分指标为2或更高版本。

isLowIndexDAE(方程式一样,var)
Ans =逻辑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)
Ans =逻辑1

输入参数

全部折叠

一阶半线性微分代数方程组,以符号方程或表达式的向量表示

状态变量,指定为符号函数或函数调用的向量,例如x (t)

例子:[x (t), y (t))

在R2014b中引入