Tornado321 发表于 2007-10-11 10:08

一元非线性方程求解用solve命令总出错

Gw=;
syms w x;
for i=1:3
    for j=1:3
      a=Gw(i,j);
      w=solve('5*x+atan(a*x)-3.14','x');
      W(i,j)=subs(w);
    end
end

欲求W矩阵,W(i,j)对应方程5*x+atan(Gw(i,j)*x)-3.14=0的根
用solve命令求取总是出错,哪路高手来指点一下,谢谢!!

[ 本帖最后由 eight 于 2007-10-11 10:49 编辑 ]

花如月 发表于 2007-10-11 10:26

??? Error using ==> solve
Unable to find closed form solution.

应该是这种方程不能用solve求解,下次再出问题记得贴上错误提示

eight 发表于 2007-10-11 10:49

原帖由 Tornado321 于 2007-10-11 10:08 发表 http://www.chinavib.com/forum/images/common/back.gif
Gw=;
syms w x;
for i=1:3
    for j=1:3
      a=Gw(i,j);
      w=solve('5*x+atan(a*x)-3.14','x');
      W(i,j)=subs(w);
    end
end

欲求W矩阵,W( ...

版面有不少求解非线性方程(组)的例子,建议先阅读一下

无水1324 发表于 2007-10-11 10:53

回复 #1 Tornado321 的帖子

a=Gw(i,j);是数值变量

w=solve('5*x+atan(a*x)-3.14','x');
其中要经过数值和符号变量的转换
页: [1]
查看完整版本: 一元非线性方程求解用solve命令总出错