查看: 255|回复: 0|关注: 0

[未答复] 微分代数方程求解问题,运行报错:‘索引大于1’,希望路过的大神帮忙指正一下

[复制链接]

新手

36 麦片

财富积分


050


10

主题

18

帖子

0

最佳答案
发表于 2020-11-19 17:20:55 | 显示全部楼层 |阅读模式
程序如下:
function out=mult_syg7(z,x)
Pi=3.14159;
r0= 1.24*10^-3; % Outer diameter  of the membrane, [m]
ri= 9.4*10^-4;% Inner diameter  of the membrane, [m]
r=(r0-ri)/log(r0/ri);% equivalent diameter ,[m]
L=0.05;% membrane length,[m]
Ac=Pi*r*L;% membrane area [m^2]
R=8.314;
T0=1000;
T=T0+273;
P=101.325;%kpa
F=2.678*10^-2*2;
m=3;
n=1;
S=(1+m+n+2*x(1))/P;
PCH4=(1-x(1))/S;
PH2O=(m-x(1)-x(2))/S;
out= ...
    [Ac/F*1.5*10^-3*exp(-117*10^3/(R*T))*PCH4.^0.97.*PH2O.^-0.08
    (3*x(1)+x(2)).*x(2)./(1-x(2))./(m-x(1)-x(2))-exp(4400/T-4.063)];

调用如下:
>> x0 = [0; 0];
tspan = [0:0.1:1];
M = [1 0 ; 0 0];
options = odeset('Mass',M,'RelTol',1e-4,'AbsTol',[1e-6 1e-10 ]);
[t,x] = ode15s(@mult_syg7,tspan,x0,options)

报错如下:
错误使用 daeic12 (line 76)
此 DAE 的索引大于 1。

出错 ode15s (line 310)
    [y,yp,f0,dfdy,nFE,nPD,Jfac] = daeic12(odeFcn,odeArgs,t,ICtype,Mt,y,yp0,f0,...

本人数学真的有点差,但又迫于毕业,不得不学习这方面知识,还望有个大神帮忙指指路啊,感谢感谢!
回复主题 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /5 下一条

快速回复 返回顶部 返回列表