各位同事:
我在解DAE时,用示例1是可以调试出结果的,但是实例2却总是
Error using daeic12 (line 77)
This DAE appears to be of index greater than 1.
Error in ode15s (line 311)
[y,yp,f0,dfdy,nFE,nPD,Jfac] = daeic12(odeFcn,odeArgs,t,ICtype,Mt,y,yp0,f0,...
Error in sunli_Nsolve (line 12)
[t,x]=ode15s(@odefun,[0 10],x0,options);%
各位知道为什么吗?
示例1程序
function dx = rigid(t,x,k,l,m)
dx= zeros(4,1);
dx(1)=-0.2*x(1)+k*x(2)*x(3)+l*0.3*x(1)*x(2);
dx(2)=2*x(1)*x(2)-5*x(2)*x(3)-2*m*x(2)*x(2);
dx(3)=x(1)+x(2)+x(3)-1;
dx(4)=-x(4)-1+x(3);%微分方程组
end
M=[1 0 0 0;0 1 0 0;0 0 0 0;0 0 0 0;];%质量矩阵
options=odeset('mass',M);%对以DAE问题,mass属性必须设置
x0=[0.8;0.1;0.1;0.1];%初值
k=1;l=1;m=1;
[t,x]=ode15s(@rigi