newton.cpp
来自「计算方法经典算法(弦截法二分法牛顿迭代法龙贝格算法)」· C++ 代码 · 共 34 行
CPP
34 行
#include<iostream.h>
#include<math.h>
#include<stdlib.h>
double f(double x)
{
return 2*x*x+7*x-15;
}
double df(double x)//求f(x)的导数
{
return 4*x+7;
}
void Newton(double x0,double l)//根的初始近似值和所需精度
{
double x[30];
x[0]=x0;
for(int k=0;k<30;k++)
{
x[k+1]=x[k]-(f(x[k])/df(x[k]));
if(fabs(x[k-1]-x[k])<l)
{ cout<<"data="<<x[k+1]<<endl;exit(1);}
}
cout<<"not found root!";
}
void main()
{
cout<<"please input x0,l:"<<endl;
double x0,l;
cin>>x0>>l;
Newton(x0,l);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?