在给定范围内使用fzero时,我似乎无法找到指定收敛容差级别的选项,例如
的内容wageresult= fzero(fbargsolve, wageguess0, [wagemin,wagemax], ftol=1e-5,xtol=1e-5)
有什么想法吗?
当我以下面指定的方式使用它时,我会收到收敛失败,我认为是因为我的目的默认容差过于严格:
wageresult= fzero(fbargsolve, wageguess0, [wagemin,wagemax])
错误消息是“收敛失败(收敛前超过15次迭代”)“
答案 0 :(得分:1)
在括号内使用fzero
初始猜测时,控制收敛的唯一选项是maxeval
和xtol
,maxeval
控制最大迭代次数并且它的默认值为15,您可以将其设置为更高的值。 xtol
可接受的错误,默认为zero(float(a))
,表示机器精度,因此它已经尽可能低
另一种方法是使用fzeros
函数,它会尝试在f
[a,b]
的{{1}} fzeros
no_pts=251
ftol=10*eps()
{{1} } 子间隔计数,reltol=0.0
和struts.xml
Roots v0.1.18