主题:符号运算为什么老错误啊?
kantbear
[专家分:0] 发布于 2007-12-11 10:53:00
solve('c*b-0.5*s^2*y^2*(1+b)^-2+s*f*j*y*(1+b)^-1.5=0',‘b’)
请问进行符号运算,有问题吗?
is not a valid expression or equation.
为什么是无效的表达式???
回复列表 (共7个回复)
沙发
elly108 [专家分:0] 发布于 2007-12-11 16:53:00
不是很清楚你到底要运算什么,我的理解是求解以b为变量的方程,如果是这样,有两个问题:
1、b应采用英文引号形式,b前面的逗号也应是英文字符形式。
2、幂运算的指数应该用()括起来
板凳
kantbear [专家分:0] 发布于 2007-12-12 15:31:00
我已经按照你的要求进行了修改,但是对于我要解决的问题仍然没有办到。不过还是很感谢你的帮助!
3 楼
gslyd [专家分:1300] 发布于 2007-12-15 11:40:00
syms c b s f j y
b=solve('c*b-0.5*s^2*y^2*(1+b)^(-2)+s*f*j*y*(1+b)^(-1.5)=0')
4 楼
mathjiang [专家分:0] 发布于 2007-12-16 11:33:00
很明显,你的单引号不是英文状态下的。呵呵呵
5 楼
mathjiang [专家分:0] 发布于 2007-12-16 11:35:00
很明显,matlab的符号运算比maple差远了,虽然其内核是maple的。建议楼主用maple解符号运算,多快好省,事半功倍。
6 楼
mathjiang [专家分:0] 发布于 2007-12-16 11:38:00
maple下的解:-1.+RootOf(-2*c*_Z^4+2*c*_Z^6-s^2*y^2+2*s*f*j*y*_Z)^2
7 楼
mathjiang [专家分:0] 发布于 2007-12-16 11:42:00
matlab下的解:(f*j*b+f*j+(f^2*j^2*b^2+2.*f^2*j^2*b+f^2*j^2+2.*c*b+6.*b^2*c+6.*b^3*c+2.*c*b^4)^(1/2))/(1.+b)^(1/2)/s
(f*j*b+f*j-1.*(f^2*j^2*b^2+2.*f^2*j^2*b+f^2*j^2+2.*c*b+6.*b^2*c+6.*b^3*c+2.*c*b^4)^(1/2))/(1.+b)^(1/2)/s
我来回复