牛顿迭代法
1 牛顿迭代法的作用
对于单个方程\(f(x)=0\),通过不断的迭代趋近于某一个单解,最终求出答案。但也有例外,比如出现无理数、无限循环小数等特殊情况,只能趋近,也就是结果是有限的。
2 牛顿迭代法的内容
2.1 怎么迭代
设\(x_1\)为你对\(x\)的猜测值,比如方程\(x^2-16=0\),你最开始猜测\(x\)为\(5\),则\(x_1=5\)。通过\(x_1\)求出\(x_2\)……(一直迭代),使最终趋近于“真正的\(x\)”。
2.2 迭代的式子
\(x_{i+1}=x_i-\frac{f(x_i)}{f'(x_i)}\),这是牛顿迭代法迭代的式子,其中\(f'(x)\)是函数\(f(x)\)的一阶导数。
3 如何求导
3.1 第一种,单点求导数
- 中心差分公式:\(f'(x) = \frac{f(x + h) - f(x - h)}{2h}\)
- 后向差分公式:\(f'(x) = \frac{f(x) - f(x - h)}{h}\)
- 前向差分公式:\(f'(x) = \frac{f(x + h) - f(x)}{h}\)
其中,中心差分公式最为精准,\(h\)是一个无限小的数,用1e-7
一些极小的值代替一下。
3.2 第二种,函数求导数函数
记住以下式子。
- 对于\(f(x)=x^n\)的\(f'(x)=nx^{n-1}\)。
- 对于\(f(x)\)为常数的\(f'(x)=0\)。
- 对于\(f(x)=g_1(x)+g_2(x)\),\(f'(x)=g_1'(x)+g_2'(x)\)。
基本的情况就可以解决了。
3.3 导数不存在了
啊啊啊啊~导数不存在了(发癫)!在一些情况下没有导数。
导数也就是一根切线的斜率,这根切线它要是上下摆动,有无数根,还怎么求导?所以需要用左导数\(f_-'(x)\)和右导数\(f_+'(x)\)进行判断。举个例子,\(f(x)=|x|\)。
- \(f'_-(0) =\lim_{h \to 0^-}\frac{f(0 + h)-f(0)}{h}=\lim_{h\to0^-}\frac{|h|-0}{h}=\lim_{h\to0^-}\frac{-h}{h}=-1\)
- \(f'_+(0) =\lim_{h \to 0^+}\frac{f(0 + h)-f(0)}{h}=\lim_{h\to0^+}\frac{|h|-0}{h}=\lim_{h\to0^+}\frac{h}{h}=1\)
诶~左导数与右导数竟然不相等,说明它的切线还有活动空间,所以它没有导数在\(x=0\)的位置,否则若相等则有导数。