牛顿迭代法(Newton's method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。另外该方法广泛用于计算机编程中。
设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0)+f'(x0)(x-x0),求出L与x轴交点的横坐标 x1 = x0-f(x0)/f'(x0),称x1为r的一次近似值。
过点(x1,f(x1))做曲线y = f(x)的切线,并求该切线与x轴交点的横坐标 x2 = x1-f(x1)/f'(x1),称x2为r的二次近似值。重复以上过程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'(x(n)),称为r的n+1次近似值,上式称为牛顿迭代公式。
方程:x^3-a=0....
令f(x)=x^3-a f'(x)=3x^2
牛顿迭代格式:X.(k+1) = X.k - f(X.k)/f'(X.k) //.k表示下标哈^_^
= X.k - (X.k^3-a)/(3X.k^2)
= 2/3X.k + a/(3X.k^2)
#include <stdio.h>
int main()
{
int i;
double x, y0, y;
double eps=1.0e-3;
scanf("%lf", &x);
for(i=0; i*i*i<=x && (i+1)*(i+1)*(i+1)>x; i++);
y = i+0.5;
do
{
y0 = y;
y = y0-(y0*y0*y0-x)/(3*y0*y0);
} while((y0-y)>eps || (y-y0)>eps);
printf("%lf %lf\n", y, y*y*y-x);
return 0;
}
分享到:
相关推荐
可以简单求解任何一个函数或者方程的牛顿迭代法的matlab程序
使用牛顿迭代法求解非线性方程组,程序简单易懂,初学者都能看明白。
牛顿迭代法,牛顿迭代法求根,matlab 牛顿迭代法,牛顿迭代法求根,matlab 牛顿迭代法,牛顿迭代法求根,matlab 牛顿迭代法,牛顿迭代法求根,matlab 牛顿迭代法,牛顿迭代法求根,matlab 牛顿迭代法,牛顿迭代法求根,matlab ...
二分法和牛顿迭代法求解方程二分法和牛顿迭代法求解方程二分法和牛顿迭代法求解方程二分法和牛顿迭代法求解方程
MATLAB实现简易牛顿迭代法MATLAB实现简易牛顿迭代法MATLAB实现简易牛顿迭代法
对目标函数进行牛顿迭代法求根,牛顿迭代法,也称牛顿切线法,它也是一种近似算法,内容如下: 设r是f(x)=0的根,选取x0作为r初始近似值,过点(x0
matlab实现牛顿迭代法求解非线性方程组教学文稿.pdfmatlab实现牛顿迭代法求解非线性方程组教学文稿.pdfmatlab实现牛顿迭代法求解非线性方程组教学文稿.pdfmatlab实现牛顿迭代法求解非线性方程组教学文稿.pdfmatlab...
1.领域:matlab,梯度下降法,不动点迭代法,牛顿迭代法 2.内容:分别通过梯度下降法,不动点迭代法,牛顿迭代法对方程进行求解+代码操作视频 3.用处:用于梯度下降法,不动点迭代法,牛顿迭代法编程学习 4.指向人群:...
计算方法上机报告,牛顿迭代法
fortran语言编写牛顿迭代法求方程的零点,代码中给出了相应的注解
这个程序展示了如何使用GMP来计算小整数的平方根并精确到任意精度,它并没有直接调用GMP的浮点函数来直接计算,而是通过牛顿迭代法逐步求精得到指定的精度。 这个程序以在VC6,VC2008和GCC下编译通过。在这个...
牛顿迭代法,maple语言,方便需要的用户下载
牛顿迭代法程序数值方法牛顿迭代法程序数值方法牛顿迭代法程序
基于Python实现的牛顿迭代法求方程根,我这个是求了根号五的确切值。
此资源是我自己以前写的一篇随笔(word格式),对牛顿迭代法进行了讲解,并利用matlab进行一元非线性方程以及多元非线性方程组的仿真,附带详细注释,并输出每次迭代的结果,对于学习牛顿迭代法和matlab的新手会有...
matlab实现牛顿迭代法求解非线性方程组
几道例题,用牛顿迭代法解的三道关于非线性方程组的题目,文件中有matlab代码,仅供参考
计算方法常用算法,牛顿迭代法求解方程组,可以输入线性或非线性方程组,IDE为VS2010,.NET搭建用户界面,报错功能完善。
利用C++和Qt-library实现牛顿迭代法求二元一次方程,并以图形示意。