PDA

查看完整版本 : [MATLAB基础] 【matlab解方程】我的这两行哪有问题?


zhyt
2009-12-06, 00:47
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等等

请高手给解答一下