Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-02-13, 23:54   #1
davidqu
初级会员
 
注册日期: 2008-02-13
年龄: 47
帖子: 3
声望力: 0
davidqu 正向着好的方向发展
微笑 [求助]为什么简单的方程却解不出来?

本人matlab菜鸟,呵呵,以前解过这个方程,可是现在却解不出来了,大侠们帮帮忙吧
软件版本 Matlab 7.0
>> s=solve('0.000505657=(k/(1-k))*((1-k)^48)/(1-(1-k)^48)')

Warning: Explicit solution could not be found.
> In solve at 140

s =

[ empty sym ]

>> s

s =

[ empty sym ]
davidqu 当前离线   回复时引用此帖
旧 2008-02-20, 10:53   #2
oneday2010
初级会员
 
注册日期: 2008-01-13
年龄: 42
帖子: 9
声望力: 0
oneday2010 正向着好的方向发展
默认

是不是机子的问题,我运行了一下,结果如下
>> s=solve('0.000505657=(k/(1-k))*((1-k)^48)/(1-(1-k)^48)')

s =

.10792191439543645274644010346451
oneday2010 当前离线   回复时引用此帖
旧 2008-02-21, 10:42   #3
yuyongji
初级会员
 
注册日期: 2008-02-19
年龄: 41
帖子: 8
声望力: 0
yuyongji 正向着好的方向发展
默认

应该是版本有问题 能算出来的
yuyongji 当前离线   回复时引用此帖
旧 2008-02-23, 22:42   #4
xemcluobiq
初级会员
 
注册日期: 2008-01-06
年龄: 41
帖子: 9
声望力: 0
xemcluobiq 正向着好的方向发展
默认

在matlab里面solve命令主要是用来求解代数方程(即多项式)的解,但是也不是说其它方程一个也不能解,不过求解非代数方程的能力相当有限,通常只能给出很特殊的实数解。(该问题给出的方程就是典型的超越方程,非代数方程)

从计算机的编程实现角度讲,如今的任何算法都无法准确的给出任意非代数方程的所有解,但是我们有很多成熟的算法来实现求解在某点附近的解。matlab也不例外,它也只能给出任意非代数方程在某点附近的解,函数有两个:fzero和fsolve,具体用法请用help或doc命令查询吧。如果还是不行,你还可以将问题转化为非线性最优化问题,求解非线性最优化问题的最优解,可以用的命令有:fminbnd, fminsearch, fmincon等等。
xemcluobiq 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[求助]信号分析的。。。。 107665111 MATLAB论坛 0 2008-04-30 10:13
BCH编码循环报错的问题 wuxuan831227 MATLAB论坛 1 2007-08-26 09:18
【求助】关于Demos里的一个程序! firefly MATLAB论坛 0 2007-06-13 19:55


所有时间均为北京时间。现在的时间是 05:42


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.