decic

求具有代数约束的一阶隐式ODE系统的一致初始条件

描述

例子

y0yp0) = decic (方程式varconstraintEqst0y0_estfixedVarsyp0_est选项得到具有代数约束的一阶隐式常微分方程组的一致初值条件reduceDAEToODE函数。

调用[方程式,constraintEqs] = reduceDAEToODE (DA_eqs var)简化微分代数方程组DA_eqs隐式颂歌系统方程式.它还返回系统约简过程中遇到的约束方程。对于这个ODE系统的变量和它们的导数,decic找到一致的初始条件y0yp0当时t0

代入数值y0yp0转化为微分方程潜艇(方程式,[t;var (t);diff (var (t))]、[t0;y0;yp0])约束方程潜艇(若干,[t;var (t);diff (var (t))]、[t0;y0;yp0])生产零向量。在这里,var必须是列向量。

y0_est指定变量值的数值估计var当时t0,fixedVars中的值。y0_est在数值搜索过程中,这一点不能改变。可选参数yp0_est让您指定变量的导数值的数值估计值var当时t0

例子

求ODE系统的一致初始条件

将DAE系统简化为隐式ode系统。然后,求得到的ODE系统的变量及其一阶导数的一致初始条件。

创建下面的微分代数系统。

信谊x (t) y (t) DA_eqs = [diff (x (t) t) = = cos (t) + y (t)……X (t)²+ y(t)²== 1];var = [x (t);y (t)];

使用reduceDAEToODE将这个系统转换为隐式ode系统。

[eqs, constraintEqs] = reduceDAEToODE(DA_eqs, vars)
方程式= diff (x (t), t) - y (t) - cos (t) - 2 * x (t) * diff (x (t) t) - 2 * y (t) * diff (y (t) t) constraintEqs = 1 - y (t) ^ 2 - x (t) ^ 2

创建一个选项集,为数值搜索指定数值公差。

选择= odeset (RelTol, 10.0 ^(7)、“AbsTol”,10.0 ^ (7));

固定的值t0 = 0为时间和数值估计的一致值的变量及其导数。

t0 = 0;Y0_est = [0.1, 0.9];Yp0_est = [0.0, 0.0];

你可以把约束看成是变量的代数方程x固定参数y.为此,设置fixedVars = [0 1].或者,你也可以把它看作变量的代数方程y固定参数x.为此,设置fixedVars = [10 0]

首先,设置初始值X (t0) = y0_est(1) = 0.1

fixedVars = [10 0];[y0, yp0] = decic(方程式一样,var, constraintEqs t0、y0_est fixedVars, yp0_est,选项)
Y0 = 0.1000 0.9950 yp0 = 1.9950 -0.2005

现在,改变fixedVars[0 1].这个补丁Y (t0) = y0_est(2) = 0.9

fixedVars = [0 1];[y0, yp0] = decic(方程式一样,var, constraintEqs t0、y0_est fixedVars, yp0_est,选项)
Y0 = -0.4359 0.9000 yp0 = 1.9000 0.9202

验证这些初值是满足方程和约束条件的一致初值。

潜艇(方程式,[t;var;diff (var, t)]、[t0;y0;yp0])
Ans = 0 0
潜艇(constraintEqs [t;var;diff (var, t)]、[t0;y0;yp0])
ans = 0

输入参数

全部折叠

隐式常微分方程组,指定为符号方程或表达式的向量。这里,表达式表示右边为零的方程。

通常,使用返回的表达式reduceDAEToODE

原始DAE系统的状态变量,指定为符号函数或函数调用的向量,如x (t)

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

系统约简过程中遇到的约束方程,指定为符号方程或表达式的向量。这些表达式或方程取决于变量var,但对它们的衍生品没有影响。

通常,使用返回的约束方程reduceDAEToODE

初始时间,用数字指定。

对变量值的估计var在初始时间t0,指定为数值向量。

的元素的输入向量y0_est是固定值,指定为向量0年代或1的固定值y0_est对应的值1fixedVars.在数值搜索期间不修改这些值。其中的零项fixedVars对应的变量y0_estdecic解约束方程。的数量0S必须与约束方程的个数重合。约束条件关于变量的雅可比矩阵var (fixedVars = = 0)必须是可逆的。

对变量一阶导数值的估计var在初始时间t0,指定为数值向量。

选项用于数值搜索,指定为选项结构,由odeset.例如,您可以在这里为数值搜索指定公差。

输出参数

全部折叠

变量的一致初始值,作为数值列向量返回。

变量一阶导数的一致初始值,作为数值列向量返回。

介绍了R2014b