我试图解决DAE系统(ODE和代数Eq的混合)。所以,我的系统看起来像这样
矩阵M基本上是对角线上的恒定质量矩阵1,在最后几行和最后一列上都是全零。
所以对于一个示例质量矩阵看起来像这样
M = [1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 0]
如果我们采用矩阵示例,我的向量Fx在维度(4x1)中。
如果出现此错误,该如何处理?
矩阵是单数,接近单数或非常规。结果可能不准确。 RCOND = NaN
我的系统解析代码:
Mass = Mass_Matrix( Nc,NT );
opt = odeset('RelTol', 10.0^(-3), 'AbsTol' , 10.0^(-3), 'Mass', Mass ,'MassSingular', 'yes', 'OutputFcn',@odeprint);
[T,Y] = ode15s(@(t,y)Function_Fx( t, y, Resolution, y01),[0 1],y0,opt);
我的矢量Fx由Function_Fx
创建function Fx = Function_Fx( t, y, Resolution, y01)
分辨率是结构变量,y01是存储值。
我的问题是问题出在哪里,是F(t,y)还是M?给定M是恒定质量矩阵。
感谢您的帮助
答案 0 :(得分:0)
我已经解决了这个问题。这是因为我的F(t,y)错了。我只检查了jacobian然后我设法看到我有一些零行。