全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅 求助成功区
8562 11
2014-10-20
悬赏 10 个论坛币 已解决
解这个方程-87/2/x+1/2*exp(x)*(87+200*x)/x-782/5=0,用fzero命令:fzero(char(fangcheng),0.3)
可以算出正确值 0.1010
可是用solve命令:solve(fangcheng,x),无论怎么样都得到0.的结果是怎么回事?

最佳答案

mike68097 查看完整内容

方法1:>> syms x>> solve(-87/2/x+1/2*exp(x)*(87+200*x)/x-782/5==0, x) ans = 0.10099792968574978894955689083098 -------------------------- 方法2: fangcheng ='-87/2/x+1/2*exp(x)*(87+200*x)/x-782/5' >> fzero(fangcheng, 0.3) ans = 0.1010 >> solve(fangcheng, 0.3) ans = 0.10099792968574978894955689083098
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-10-20 22:12:09

方法1:

>> syms x

>> solve(-87/2/x+1/2*exp(x)*(87+200*x)/x-782/5==0, x)
ans =
0.10099792968574978894955689083098
--------------------------

方法2:
fangcheng ='-87/2/x+1/2*exp(x)*(87+200*x)/x-782/5'
>> fzero(fangcheng, 0.3)
ans =
    0.1010
>> solve(fangcheng, 0.3)
ans =
0.10099792968574978894955689083098

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-20 22:50:09
这个跟你设置的初值有关系
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-21 09:50:02
多设置些初始值试一试。根本原因就是,这两个functions做optimization找local minimum 的方法是不同的,所以找点方式不同,会有这些问题,尤其是ill-conditioned problem。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-24 11:32:53
mike68097 发表于 2014-10-21 10:29
方法1:>> syms x>> solve(-87/2/x+1/2*exp(x)*(87+200*x)/x-782/5==0, x)
ans =
0.100997929685749788949 ...
还是不行啊,用到solve时两个方法都不行,方法一:



方法二:
附件: 您需要登录才可以下载或查看附件。没有帐号?我要注册
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-10-24 11:33:55
mike68097 发表于 2014-10-21 10:29
方法1:>> syms x>> solve(-87/2/x+1/2*exp(x)*(87+200*x)/x-782/5==0, x)
ans =
0.100997929685749788949 ...
我用的matlab7.0和win7的系统,是不是matlab坏了?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群