⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newtonxiashan.cpp

📁 包括二分法
💻 CPP
字号:
#include <cmath>
#include <iostream>
using namespace std;

/*
double f(double x)
{ return x*exp(x)-1;}
double ff(double x)
{return exp(x)+x*exp(x);}
*/
/*
double f(double x)
{ return x*x*x-x-1;}
double ff(double x)
{ return 3*x*x-1;}
*/
double f(double x)
{ return 2*x*x*x-5*x*x+4*x-1;}
double ff(double x)
{ return 6*x*x-10*x+4;}

int main()
{   double x0,x1,e1,e2,N;
	cout<<"Please input x0 e1 e2 N:"<<f(1.32472)<<endl;
	while(cin>>x0>>e1>>e2>>N)
{
  	 for(int k=1; k<=N ;k++)
	{
		if ( fabs(f(x0))<e1 )
	  {  cout<<"??????"<<endl;
		break;
	   }
	  else
	  {  x1=x0-f(x0)/ff(x0);
	   if ( fabs(x1-x0)<e2 )
	     {  cout<<"x1="<<x1<<endl;
	       break;
	      }
	   }
	    cout<<x1<<endl;
	  x0=x1;
	
	  if (k==N)
	  {cout<<"error"<<endl;
	  }
     }
   }  
	return 0;
}

⌨️ 快捷键说明

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