主要内容

isLowIndexDAE

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

描述

例子

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

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

例子

检查DAE系统的差分指标

检查一阶半线性DAEs系统是否具有低微分指标(01).

创建以下由两个微分代数方程组成的系统。在这里,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.对于索引系统01isLowIndexDAE返回1真正的).

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

输入参数

全部折叠

一阶半线性微分代数方程组,指定为符号方程或表达式的向量。

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

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

介绍了R2014b