高斯牛顿迭代法matlab代码,优化算法--牛顿迭代法

本文介绍了牛顿法作为数值解法在求解方程根和优化问题中的应用。通过迭代公式,阐述了牛顿迭代法的基本思想和数学表达,并分析了其优点和缺点。同时,讨论了高斯牛顿法在优化问题中的角色,强调了它在计算Hessian矩阵上的局限性。文章还提到了优化算法的改进方法,如拟牛顿法和莱文贝格-马夸特算法,以解决局部极小值和收敛速度问题。
摘要由CSDN通过智能技术生成

简书同步更新

牛顿法给出了任意方程求根的数值解法,而最优化问题一般会转换为求函数之间在"赋范线性空间"的距离最小点,所以,利用牛顿法去求解任意目标函数的极值点是个不错的思路。

方程求根

对于一元二次方程,求根其实很简单,只要套用求根公式就行了,但找到一个方程的求根公式(解析解)其实是很困难的,可以证明5次方程以上便没有解析解了,参考维基百科五次方程。其他的复杂方程如偏微分方程求解更是超级困难。好在随着计算机技术的发展,解析解变的不再那么重要(至少是在工程上),取而代之的方法便是数值解法,牛顿法便是众多数值解法中的一个。

数值法求解又叫做数值分析,主要利用逼近的思想来使数值解通过迭代计算不断接近解析解,而得出来得解就叫做数值解,在工程上,数值解只要是在精度要求范围内满足方程便是有用的。

牛顿迭代法

b69419155f37

sqrt2.png

先考虑一个小问题:求解方程

math?formula=x%5E2-2%3D0的根,也即求解

math?formula=%5Csqrt%202。牛顿迭代法的思想从几何的角度很好理解,如上图所示(画图的脚本在这里)方程的根就是函数

math?formula=y%3Dx%5E2-2

math?formula=x轴的交点处横坐标的值。从图中

math?formula=x_n点出发,计算函数在

math?formula=x_n点处的切线,再计算切线和

math?formula=x轴的交点得到

math?formula=x_%7Bn%2B1%7D,再计算函数在

math?formula=x_%7Bn%2B1%7D点处的切线... 一直这样迭代下去,可以发现

math?formula=x_%7Bn%7D会越来越接近方程的根。

上述思路的数学表达:

math?formula=x_%7Bn%7D计算

math?formula=y_%7Bn%7D

math?formula=f(x_n)%3Dy_n

得到切线方程:

math?formula=y-y_n%3D%20%5Cleft.%20f(x)'%20%5Cright%20%7C%20_%7Bx%3Dx_n%7D(x-x_n)

切线和

math?formula=x轴的交点,也即,当

math?formula=y%3D0时,

math?formula=0-y_n%3D%5Cleft.%20f(x)'%20%5Cright%20%7C%20_%7Bx%3Dx_n%7D(x-x_n)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值