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

📄 newton.cpp

📁 里面包含了一个用VC开发的二分法程序
💻 CPP
字号:
//Newton法求根程序
#include <math.h>
#include <iostream.h>
//Function
double f(double x)
{
	double y1,y2,y3;
	y1=x*exp(x)-1;
	y2=x*x*x-x-1;
	y3=(x-1)*(x-1)*(2*x-1);
	return(y3);
}
double fd(double x)
{
	double y1,y2,y3;
	y1=exp(x)+x*exp(x);
	y2=3*x*x-1;
	y3=2*(x-1)*(2*x-1)+2*(x-1)*(x-1);
	return(y3);
}

void main()
{
	double x0,x1;
	double root;
	double e1,e2;
	int N,k;


	cout<<"欢迎使Newton求根法程序"<<endl;
l1:	cout<<"请输入初始值--->x0"<<endl;
	cin>>x0;
	cout<<"请输入限制奇异标志--->e1"<<endl;
	cin>>e1;
	cout<<"请输入计算精度--->e2"<<endl;
	cin>>e2;
	cout<<"请输入限制跌代次数--->N"<<endl;
	cin>>N;

    for(k=1;k<=N;k++)
	{
		cout<<x0<<endl;
	    if(fd(x0)<e1)
		cout<<"ERROR,奇异方程,无法求解,难道是传说中的XX在世,本程序无法处理"<<endl;
    

        x1=x0-f(x0)/fd(x0);
		if(fabs(x1-x0)<e2)
			goto l2;
		x0=x1;
		
	}
    if(k>N)
	{cout<<"FAILED:选择初始值错误请重新选择初始值"<<endl;
	 goto l1;
	}
l2: root=x1;
	cout<<"ROOT="<<root<<endl;

}

⌨️ 快捷键说明

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