导数和牛顿迭代

  • 导数

             \ \ \ \ \ \ \,       导数是描述一个函数的变化情况的函数,函数 f f f的导数记作 f ′ f' f

             \ \ \ \ \ \ \,       导数(英语:Derivative)是微积分学中重要的基础概念。一个函数在某一点的导数描述了这个函数在这一点附近的变化率。导数的本质是通过极限的概念对函数进行局部的线性逼近$\ \ \ \ \ \ $——wiki。

  • 导数的运算法则

    • ( f + g ) ′ = f ′ + g ′ (f+g)'=f'+g' (f+g)=f+g

    • ( f − g ) ′ = f ′ − g ′ (f-g)'=f'-g' (fg)=fg

    • ( f ⋅ g ) ′ = f ′ ⋅ g ′ (f\cdot g)'=f'\cdot g' (fg)=fg

    • ( a f ) ′ = a f ′ (af)'=af' (af)=af

    • ( f a ) ′ = f ′ a + a ⋅ f ′ (fa)'=f'a+a\cdot f' (fa)=fa+af

    • ( f / g ) ′ = f ′ ⋅ g − f ⋅ g ′ g 2 (f/g)'=\frac{f'\cdot g-f\cdot g'}{g^2} (f/g)=g2fgfg

  • 常见函数的导数

    • ( x k ) ′ = k x k − 1 (x^k)'=kx^{k-1} (xk)=kxk1

    • ( a x ) ′ = a x ⋅ ln ⁡ a (a^x)'=a^x\cdot \ln a (ax)=axlna

    • ( e x ) ′ = e x (e^x)'=e^{x} (ex)=ex

    • ( log ⁡ a x ) ′ = 1 x ⋅ ln ⁡ a (\log _a x)'=\frac{1}{x \cdot \ln a} (logax)=xlna1

    • ( ln ⁡ x ) ′ = 1 x (\ln x)'=\frac{1}{x} (lnx)=x1

    • ( sin ⁡ x ) ′ = cos ⁡ x (\sin x)'=\cos x (sinx)=cosx

    • ( cos ⁡ x ) ′ = − sin ⁡ x (\cos x)'=-\sin x (cosx)=sinx

    • ( tan ⁡ x ) ′ = sec ⁡ 2 x (\tan x)'=\sec ^2x (tanx)=sec2x

    • ( cot ⁡ x ) ′ = − csc ⁡ 2 x (\cot x)'=-\csc ^2x (cotx)=csc2x

    • ( sec ⁡ x ) ′ = tan ⁡ x ⋅ csc ⁡ x (\sec x)'=\tan x\cdot\csc x (secx)=tanxcscx

    • ( csc ⁡ x ) ′ = − cot ⁡ x ⋅ csc ⁡ x (\csc x)'=-\cot x\cdot\csc x (cscx)=cotxcscx

    • ( arcsin ⁡ x ) ′ = 1 1 − x 2 (\arcsin x)'=\frac{1}{\sqrt{1-x^2}} (arcsinx)=1x2 1

    • ( arccos ⁡ x ) ′ = − 1 1 − x 2 (\arccos x)'=-\frac{1}{\sqrt{1-x^2}} (arccosx)=1x2 1

    • ( arctan ⁡ x ) ′ = 1 1 − x 2 (\arctan x)'=\frac{1}{1-x^2} (arctanx)=1x21

    • ( a r c c o t   x ) ′ = − 1 1 − x 2 ({\rm arccot}\ x)'=-\frac{1}{1-x^2} (arccot x)=1x21

    • ( s h   x ) ′ = c h   x ({\rm sh}\ x)'={\rm ch}\ x (sh x)=ch x

    • ( c h   x ) ′ = s h   x ({\rm ch}\ x)'={\rm sh}\ x (ch x)=sh x

  • 牛顿迭代

         \ \ \ \ \ \ \,       这里简单地讲一下** 一阶牛顿迭代 **,牛顿迭代是应用在最优化领域非常重要的一种算法,由于具有二阶收敛性,所以相比二分法能大大降低迭代次数,只能求一个可导函数的零点,或者有二阶导函数的极值,一种全局搜索算法用来解np问题最优解的算法,在算法竞赛中的运用比较少见(Psyduck说)。

         \ \ \ \ \ \ \,       先放wiki的动图,牛顿迭代动态示例图:

         \ \ \ \ \ \ \,       容易看出一个重要问题:对函数的一个点做切线,这个切线与 x x x轴的交点当做新的点,重复操作,得到的点就会越来越趋近于零点。

         \ \ \ \ \ \ \,       具体证明涉及 泰勒展开,就不细讲了。

         \ \ \ \ \ \ \,       说到函数切线,自然就需要求导。

         \ \ \ \ \ \ \,       在$\ f(x)\ 上 , 点 上,点 \ x=a\ 的 斜 率 为 的斜率为 f’(a) , 所 以 这 个 切 线 与 ,所以这个切线与 线x 轴 的 交 点 当 做 新 的 点 , 应 该 是 轴的交点当做新的点,应该是 \ a-\frac{f\left(a\right)}{f’\left(a\right)}\ $。

         \ \ \ \ \ \ \,       所以,我们定义:
F ( x ) = F ( x − 1 ) − f ( F ( x − 1 ) ) f ′ ( F ( x − 1 ) ) F(x)=F(x-1)-\frac{f\left(F(x-1)\right)}{f'\left(F(x-1)\right)} F(x)=F(x1)f(F(x1))f(F(x1))

         \ \ \ \ \ \ \,       也就是不断去求点,可得这个点是越来越趋近某一个零点的。也就是说,我们的答案,就是$\ F(+∞)\ , 既 函 数 ,既函数 \ F(x)\ $的收敛值。

         \ \ \ \ \ \ \,        f ( x ) f(x) f(x)二阶可导,那么在待求的零点$\ F(+∞)\ 值 周 围 存 在 一 个 区 域 , 只 要 起 始 点 值周围存在一个区域,只要起始点 \ F(0)\ $位于这个邻近区域内,那么牛顿迭代必定收敛。

         \ \ \ \ \ \ \,       不过……我们显然不需要算无限次,保证精度在一个范围内就行了,显然,牛顿迭代可以做到极快收敛到我们需要的精度,我们并不需要计算太多次。

         \ \ \ \ \ \ \,       我们最终答案的计算效率、精度,还与迭代系数,也就是最初赋值的$\ F(0)\ $有很大关系。(但是因为比较小的x取值范围,本题没有卡迭代系数的选定)。

         \ \ \ \ \ \ \,       然后贴出一阶牛顿迭代的模板:

         \ \ \ \ \ \ \,       如果迭代次数过少或者无解,那么会返回一个错误的答案

double Newton_Iteration(double F,int tim){//输入迭代系数F=F(0),迭代次数tim
  while(tim--)F=F-f(F)/f1(F);//f1(x)=f'(x)
  return F;
}

         \ \ \ \ \ \ \,       这里只是简单地讲一下** 一阶牛顿迭代 **,具体的讲解,有兴趣可以戳下面的链接,博主觉得讲得很清晰 (还有互交动画啊XD)

         \ \ \ \ \ \ \,       –·--·–《推荐讲解文章》–·--·–

         \ \ \ \ \ \ \,       而对于 二阶牛顿迭代 呢,就是在一阶导数上面做 一阶牛顿迭代 ,求一阶导数上面的零点,就是求原函数的极值了,也就是下面这个函数的收敛值:

F ( x ) = F ( x − 1 ) − f ′ ( F ( x − 1 ) ) f ′ ′ ( F ( x − 1 ) ) F(x)=F(x-1)-\frac{f'\left(F(x-1)\right)}{f''\left(F(x-1)\right)} F(x)=F(x1)f(F(x1))f(F(x1))

         \ \ \ \ \ \ \,       例题在这里,是我出的:【P4986 逃离】【题解】

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值