声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1590|回复: 3

[编程技巧] 一元非线性方程求解用solve命令总出错

[复制链接]
发表于 2007-10-11 10:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
Gw=[21.7 337 10;500 28 10;500 166 23];
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求解,下次再出问题记得贴上错误提示
发表于 2007-10-11 10:49 | 显示全部楼层
原帖由 Tornado321 于 2007-10-11 10:08 发表
Gw=[21.7 337 10;500 28 10;500 166 23];
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( ...


版面有不少求解非线性方程(组)的例子,建议先阅读一下
发表于 2007-10-11 10:53 | 显示全部楼层

回复 #1 Tornado321 的帖子

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

w=solve('5*x+atan(a*x)-3.14','x');
其中要经过数值和符号变量的转换
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-12 08:40 , Processed in 0.058353 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表