MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB基础] 【matlab解方程】我的这两行哪有问题? (https://www.labfans.com/bbs/showthread.php?t=10370)

zhyt 2009-12-06 00:47

【matlab解方程】我的这两行哪有问题?
 
r=8.314;
t=273.15-20;
b=4.0480/10^-5;
at=0.6622;

dpv1=subs('-r*t/(v-b)^2+2*at*(v+b)/(v*(v+b)+b*(v-b))^2');
p1=eval(solve(dpv1))

dpv2=subs('2*r*t/(v-b)^3-2*at*(3*v^2+6*v*b+5*b^2)/(v*(v+b)+b*(v-b))^3');
p2=eval(solve(dpv2))

我在MATLAB上运行,p1可以解出结果,但是解p2会报错,如下:

??? Error using ==> evalin
Undefined function or variable 'X65'.

Error in ==> sym.eval at 14
s = evalin('caller',vectorize(map2mat(char(x))));

Error in ==> Untitled at 9
p2=eval(solve(dpv2))


请问这是为什么?两次solve是基本一样的运行啊。而且‘X65’是个什么东西?
我试过随便改了一下第二个表达式
“2*r*t/(v-b)^3-2*at*(3*v^2+6*v*b+5*b^2)/(v*(v+b)+b*(v-b))^3”
之后的报错中‘X65’会变成其他的X106,X85,I等等

请高手给解答一下


所有时间均为北京时间。现在的时间是 11:15

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.