求解非线性方程组
要求解的函数必须是连续的。
一旦成功,fsolve
只给出一个根。
默认的信赖域折线法只能在方程组为正方形时使用,即方程组的数量等于未知数的数量。对于Levenberg-Marquardt方法,方程组不必是平方的。
对于大的问题,意味着那些有数千个或更多的变量,通过设置算法
选项“信任区”
和子问题算法
选项“重心”
.
Levenberg-Marquardt方法和信赖域方法基于非线性最小二乘算法,也用于解非线性最小二乘问题
.如果系统可能没有零,请使用其中一种方法。算法仍然返回一个残差很小的点。然而,如果系统的雅可比矩阵是奇异的,算法可能会收敛到一个点,而这个点不是方程组的解限制).
默认情况下fsolve
选择信任区域的狗腿算法。该算法是Powell狗腿法的一种变体[8]. 它在本质上类似于在中实现的算法[7].看到Trust-Region-Dogleg算法.
信赖域算法是一种子空间信赖域方法,基于中描述的内部反射牛顿法[1]和[2].每次迭代都涉及到使用预条件共轭梯度(PCG)方法求解一个大线性系统的近似解。看到信赖域算法.
参考文献中描述了Levenberg-Marquardt方法[4],[5]和[6].看到Levenberg-Marquardt方法.
的优化活动编辑器任务为fsolve
.
[1] Coleman, T.F.和Y. Li,“有界非线性极小化的内部信赖域方法”,SIAM优化学报, 1996年第6卷,第418-445页。
[2] Coleman,T.F.和Y.Li,“关于有界的大规模非线性极小化的反射牛顿方法的收敛性,”数学规划,第67卷,第2号,第189-224页,1994年。
[3]丹尼斯,J. E. Jr.,《非线性最小二乘》数值分析的最新进展, D.雅各布斯,学术出版社,269-312页。
[4] Levenberg,《求解最小二乘某些问题的方法》,应用数学季刊2,页164-168,1944。
《非线性参数的最小二乘估计算法》,作者:Marquardt, D。暹罗应用数学杂志,第11卷,第431-4411963页。
[6] Moré, J. J., " Levenberg-Marquardt算法:实现和理论"数值分析,ed.G.A.Watson,《数学课堂讲稿630》,斯普林格·维拉格,第105-116页,1977年。
[7] Moré, J. J., B. S. Garbow, K. E. Hillstrom,MINPACK 1用户指南,阿贡国家实验室,报告。ANL-80-741980年。
[8] Powell, M. J. D.,“求解非线性代数方程组的Fortran子程序”,非线性代数方程的数值方法, P. Rabinowitz,编,ch7, 1970。