全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
1176 4
2015-03-30
6@YB_TW3ABHEGB~CCJCNUUJ.png 如果知道那几个变量的值,如何求出B啊,用matlab的话,不怎么会用那个fslove()函数

二维码

扫码加我 拉你入群

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

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

全部回复
2015-3-30 21:20:58
先给已经知道的参数赋值,
用beta=fsolve(@(beta)等式左边的表达式,[ 随意选取一个初值])
二维码

扫码加我 拉你入群

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

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

2015-3-30 22:08:44
Hua1018 发表于 2015-3-30 21:20
先给已经知道的参数赋值,
用beta=fsolve(@(beta)等式左边的表达式,[ 随意选取一个初值])
beta=fsolve(@(beta)0.5*0.2^2*beta^2+0.3*beta-0.4+0.2^beta,0)
输入这个命令,函数是beta的二次方程,但求出来只有一个解,怎么回事?
matlab显示如下:
No solution found.

fsolve stopped because the problem appears regular as measured by the gradient,
but the vector of function values is not near zero as measured by the
default value of the function tolerance.
二维码

扫码加我 拉你入群

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

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

2015-3-31 13:58:51
liukuan303 发表于 2015-3-30 22:08
beta=fsolve(@(beta)0.5*0.2^2*beta^2+0.3*beta-0.4+0.2^beta,0)
输入这个命令,函数是beta的二次方程, ...
给两个初值,就会有两个解。你给处置为零,可能它就在0处迭代逼近的。这种你可以先画图看看极值点。搜百度fsolve,有个跟你类似的问题,有人解答了,我也是刚学,学艺不精。
二维码

扫码加我 拉你入群

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

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

2015-3-31 14:14:18
Hua1018 发表于 2015-3-31 13:58
给两个初值,就会有两个解。你给处置为零,可能它就在0处迭代逼近的。这种你可以先画图看看极值点。搜百度 ...
给了两个初值,还是只有一个解~~~~
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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