牛顿法.cpp

来自「数值分析程序。。。。。好多程序下载 喜欢的朋友可以下 随时欢迎」· C++ 代码 · 共 45 行

CPP
45
字号
#include<iostream.h>
#include<math.h>
double f(double x);
double fr(double x);
void main()
{   
	double x0,x1,e;
	int N;
	cout<<"请输入初值x0,误差限e,最大迭代次数N的值"<<endl;
	cin>>x0>>e>>N;
	int k=1;
	L:
		if (fr(x0)!=0)
	{
         x1=x0-f(x0)/fr(x0);
		 if(fabs(x1-x0)>=e)
		 {
              if(k!=N)
			  {
				  k=k+1;
			      x0=x1;
				  goto L;
			  }
              else
				  cout<<"迭代失败"<<endl;
		 }
       
		 else
			 cout<<x1<<endl;
	}
		else
			cout<<"奇异"<<endl;
}
double f(double x)
{
	double y;
	y=x*exp(x)-1;
	return y;
}
double fr(double x)
{
	double y1;
	y1=exp(x)+x*exp(x);
	return y1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?