您的位置:首页 > 其它

用牛顿迭代法求下面方程在1.5附近的跟

2017-11-07 20:33 459 查看
牛顿迭代法的基本原理是,给定一个初始x0,做一条垂线与函数f(x)相交,得到的交点为(x0,y0),过该点在f(x)上作一条切线,得到该切线与x轴的交点为(x1, 0)。之后对(x1, 0)重复上述步骤,直到与x轴的交点的横坐标xn逐渐收敛到f(x)=0的根。也就是对于第i+1次迭代(i>=0),有下列等式xi+1=xi-f(xi)/f’(xi)

2x^3-4x^2+3x-6=0

#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<iomanip>
#include<cstring>
using namespace std;
int main()
{
double x1,x0,f,f1;
x1=1.5;
do
{
x0=x1;
f=((2*x0-4)*x0+3)*x0-6;
f1=(6*x0-8)*x0+3;
x1=x0-f/f1;
}
while(fabs(x1-x0)>=1e-5);
printf("The root of equation is %5.2f\n",x1);
return 0;
}
//do
{
x0=x;
f=((a*x0+b)*x0+c)*x0+d;
f1=(3*a*x0+2*b)*x0+c;
x=x0-f/f1;
} while(fabs(x-x0)>1e-5);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐