我知道如何在Matlab中编写Newton方法,但是我仍然很好奇Matlab中是否有内置的Newton求解器?(或者是二分法?)
答案 0 :(得分:5)
是的,有。
它被称为fsolve
,它是Optimization Toolbox的一部分。您可以选择信任算法为trust-region-dogleg(默认),trust-region-reflective或Levenberg-Marquardt,并根据文档:
信赖域反射算法是一种子空间信赖域方法,它基于[1]和[2]中描述的内反射牛顿方法。
为方便起见,参考文献是:
[1] Coleman,T.F。和Y.Li,“内部,信赖域方法的非线性最小化受到界限,” SIAM Journal on Optimization ,Vol。 6,pp.418-445,1996
[2] Coleman,T.F。和Y.Li,“关于受到界限的大规模非线性最小化的反射牛顿方法的收敛性”,数学规划,Vol。 67,Number 2,pp.189-224,1994。
如评论中所述,如果您想要使用bisection method的求解器,则有fzero
,文档声明使用二分,割线和逆二次插值方法的组合。