回 帖 发 新 帖 刷新版面

主题:符号运算为什么老错误啊?


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个回复)

沙发

不是很清楚你到底要运算什么,我的理解是求解以b为变量的方程,如果是这样,有两个问题:
1、b应采用英文引号形式,b前面的逗号也应是英文字符形式。
2、幂运算的指数应该用()括起来

板凳

我已经按照你的要求进行了修改,但是对于我要解决的问题仍然没有办到。不过还是很感谢你的帮助!

3 楼

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 楼

很明显,你的单引号不是英文状态下的。呵呵呵

5 楼

很明显,matlab的符号运算比maple差远了,虽然其内核是maple的。建议楼主用maple解符号运算,多快好省,事半功倍。

6 楼

maple下的解:-1.+RootOf(-2*c*_Z^4+2*c*_Z^6-s^2*y^2+2*s*f*j*y*_Z)^2

7 楼

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

我来回复

您尚未登录,请登录后再回复。点此登录或注册