牛顿迭代法是一种数值分析的方法,所以用这种方法求出来的方程的根值是数值解,也就是通过迭代的方法找到近似解。
首先牛顿迭代的公式可以通过泰勒一阶函数展开得到即:f(x) = f(x0) + f(x0')(x - x0);由于是求方程的根即令f(x) = 0可以得到 f(x0) + f(x0')(x - x0) = 0;变形一下得到 x = x0 - f(x0')/f(x0);而将x0变成xn的话就可以得到迭代公式:x(n+1) = x(n) - (f(xn') / f(n));并且由于求的是根值,所以只要控制x(n+1)的值小于无穷小就可以的到一个近似解;
下面以求y = x^2 + 5这个函数来用牛顿迭代法求一下根值:
首先将两个函数以及其倒数编写一下,方便带入牛顿迭代法的公式。而牛顿迭代法的公式首先确定x0的位置也就是起始点,定在大约n的一般位置,然后进行迭代,迭代的条件是x的值大小正负不超过10-7,来保证精度,通过调整这里可以保证得到解精确到小数点后几位。
由于类似开根可以和math.h库中自带的sqrt()函数比较一下: