在用matlaB求定积分的时候报错信息如下:
错误使用 sym/subsindex (line 663)
Invalid indexing or function definition. When defining a function, ensure that the body of
the function is a SYM object. When indexing, the input must be numeric, logical or ':'.
出错 landscape1fig6 (line 79)
E(j)=eta_e(j).*n*Zr.*int((S(i)-Sh)./(Sstar-Sw).*p(i),S(i),Sh,Sfc);
代码如下:
syms S(i) E(j) T(j) L(j) R(j)
E(j)=eta_e(j).*n*Zr.*int((S(i)-Sh)./(Sfc-Sh).*p(i),S(i),Sh,Sfc);
T(j)=eta_t(j).*n*Zr.*(int((S(i)-Sw)./(Sstar-Sw).*p(i),S(i),Sw,Sstar)+int(p(i),S(i),Sfc,1));
L(j)=m.*n*Zr.*int(exp(beta*(S(i)-Sfc)-1).*p(i),S(i),Sfc,1);
R(j)=E(j)+E(j)+L(j);
S(i)相当于x 定积分范围是Sh,Sfc,只有S(i)是变量,其他都是常数
请问这是什么原因?如何修改?
我这里积分的上下线没有用syms类型的变量呢,Sh,Sfc是常数
这里的把常数代进去之后求出来的定积分还是个定积分!
你的S(i)是表达式么??
本回答被提问者和网友采纳