matlab问题,如图,怎么会多出0.0001呢?为什么

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/17 13:50:58
matlab问题,如图,怎么会多出0.0001呢?为什么
xSNQcb͔0 3lзf@˭BS'# BѪi(r3'{$odkZgɅ]WPemeT+#Kx {E1H,4%FT*8QxTjQ Ns=H2H'RHx_31Cb OEB Ep,EɄDD{PDShZdE/2_VD8d(!IERUXG34OA\hÅg}( D!+4# GxUh$rɅj% q(L^e~h3? ЇUEm5H*wnk_Z7Ƭ'_=cV&g (iyXhZ:[ѠD-Zo! |[-^G4^p!<MK4Bj 1{wT3 LАtm@_vFxJϻo\H%"h>GH nÌd}94G=]¼77׹qY|4'AA-X3#X_̕s9Hz{=)i\f Mؘ,Roݖљ;i'87!mqO0^.b eP~ ն/w+ֻ`ޮ?KD\%T;oYXԙXLV=+Pp{T?Pz

matlab问题,如图,怎么会多出0.0001呢?为什么
matlab问题,如图,怎么会多出0.0001呢?为什么

matlab问题,如图,怎么会多出0.0001呢?为什么

fminbnd是通过数值方法求解,无法保证得到的解绝对准确,只能是相对准确.

而这个相对量是由算法设置的TolX决定的,只要满足误差比TolX小,就认为得到的想要的结果.TolX的默认值是1e-4,上面求出的结果是满足这个要求的:

>> format long
>> fminbnd(@(x)2*x,3,9)
ans =
   3.000057869254071

应该指出的是,TolX并不是指求出的结果与精确解之间的误差——事实上,fminbnd函数并不知道精确解是多少,它只是按照一定的规则反复迭代,直到对于相邻的两次迭代,自变量x的变化足够小(小于TolX),就结束迭代,返回结果.