C语言实现一维搜索法牛顿法,最优化第二讲——一维搜索法(牛顿法)

牛顿法可以用来解决两种问题,其实本质上也是一种问题,就是方程求根,只不过一个是求f(x)=0的根,一个是求f(x)的导数=0的根

1. 无约束函数f(x) = 0的根

有两种方式可以解释一下牛顿法

切线法

0818b9ca8b590ca3270a3433284dd417.png

这种方式就是不断的求点的切线,如果初始点是(x1, f(x1)),求得这个点的切线和x轴的交点(x2, 0),对应到曲线上的值为(x2, f(x2)),然后再求这个点的切线,一次类推,直到达到要求

我们看一下这个递推公式,x1, x2的关系如下

0818b9ca8b590ca3270a3433284dd417.png

由此可以得到递推公式为

0818b9ca8b590ca3270a3433284dd417.png

这个就是牛顿法的迭代公式

泰勒公式法

利用泰勒公式的一阶展开

0818b9ca8b590ca3270a3433284dd417.png

求解f(x)=0就是方程的解,应为泰勒公式的一阶展开只是近似相等,并不完全相等,而且在dx很小的情况下是近似的,所以我们说f(x)=0使得

0818b9ca8b590ca3270a3433284dd417.png

并不是找到了解,而是在一步步的逼近最优解,所以迭代的想法也就产生了,也得到了上面的迭代公式

2. 无约束函数f(x)的极值点

这里我们要求f(x)的极值点,其实就是在求f'(x)=0的点,可以跟上面类比,只不过上面的迭代公式中f(xn)变为f'(xn),f'(xn)变为f‘’(xn),这是一种理解方式

我们还可以根据泰勒公式的二阶展开来求解

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值