haowenjingxf 发表于 2008-11-25 21:18

关于solve的使用问题,大家看看是怎么回事

已知a b 要求f=0时k的值,写方程如下:
a=

a =

   1
   2
   3

>> b=;
syms k
f=(a.*(b-1-k-sqrt(k.^2+2*k))-((1+k-sqrt(k.^2+2*k)).*b-1)).*exp(2*sqrt(k.^2+40*k))-((a.*(b-1-k+sqrt(k.^2+2*k))-((1+k+sqrt(k.^2+2*k)).*b-1)))

f =

      (-5*k+3*(k^2+2*k)^(1/2))*exp(2*(k^2+40*k)^(1/2))+5*k+3*(k^2+2*k)^(1/2)
   (4-7*k+3*(k^2+2*k)^(1/2))*exp(2*(k^2+40*k)^(1/2))-4+7*k+3*(k^2+2*k)^(1/2)
(10-9*k+3*(k^2+2*k)^(1/2))*exp(2*(k^2+40*k)^(1/2))-10+9*k+3*(k^2+2*k)^(1/2)


>> g=solve(f,k)
??? Error using ==> solve
Error, (in solve) invalid arguments

Error in ==> sym.solve at 49
= solve(S{:});
这是什么错误啊,怎么回事呢?

sigma665 发表于 2008-11-25 22:41

help solve

ChaChing 发表于 2008-11-26 10:54

symbolic这一部份我很少使用
刚刚看了下Help并试了下
好像eq输入不能3*1

guolanman 发表于 2008-12-3 22:36

我以前也遇到过这样的问题,就是如果方程太长的话用solve也是解不出来,后来我的办法是把这个方程设成一条曲线,横坐标为K,纵坐标为方程值,然后再作一条直线y=0*k,这样求两条曲线的交点就相当于解得这个方程的值了

wangyi_elite 发表于 2008-12-3 23:28

楼上的方法可行,楼主可以试试
页: [1]
查看完整版本: 关于solve的使用问题,大家看看是怎么回事