解非线性方程组
要解的函数必须是连续的。
一旦成功,fsolve
只给出一个根。
默认的信赖域狗腿方法只能在方程组是平方的情况下使用,即方程的数量等于未知量的数量。对于Levenberg-Marquardt方法,方程组不一定是平方的。
对于较大的问题,即具有数千个或更多变量的问题,可以通过设置算法
选项“信赖域”
和SubproblemAlgorithm
选项“重心”
.
Levenberg-Marquardt方法和信赖域方法是基于非线性最小二乘算法lsqnonlin
.如果系统可能没有零,请使用其中一种方法。该算法仍然返回一个残差很小的点。然而,如果系统的雅可比矩阵是奇异的,算法可能会收敛到一个点,这个点不是方程组的解(参见限制).
默认情况下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优化期刊,第6卷,第418-445页,1996年。
[2] Coleman, T.F.和Y. Li,“关于大规模非线性最小化的反射牛顿方法的收敛性,”数学规划,第67卷,第2期,第189-224页,1994年。
[3] Dennis, J. E. Jr.,《非线性最小二乘》数值分析的最新进展, D.雅各布斯编,学术出版社,269-312页。
[4] Levenberg, K.,“在最小二乘中解决某些问题的方法”应用数学季刊2,第164-168页,1944。
[5] Marquardt, D.,“非线性参数的最小二乘估计算法”,应用数学杂志,卷11,第431-441页,1963年。
[6] Moré, J. J.,“Levenberg-Marquardt算法:实现与理论”,数值分析华森主编,《数学讲稿》630,施普林格Verlag出版社,第105-116页,1977。
[7] Moré, J. J. B. S. Garbow和K. E. Hillstrom,MINPACK用户指南阿贡国家实验室,报告。退火- 80 - 74,1980。
[8] Powell, m.j.d.,“求解非线性代数方程组的Fortran子程序”,非线性代数方程的数值方法, P. Rabinowitz主编,Ch.7, 1970。