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

📄 newton.cpp

📁 Newton法
💻 CPP
字号:
//Newton求非线性方程的一个根

#include<iostream.h>
#include<math.h>
#include<stdlib.h>

double fun(double x)
{
	double y;
	y=x*x*x-3*x+1;
	return y;
}

double dfun(double x)
{
	double y;
	y=3*x*x-3;
	return y;
}


int newton(double &x0,int n,double pe)
{
	double x;
	x=x0-fun(x0)/dfun(x0);
	int flag=1,k=1;
	while(fabs(x-x0)>pe&&k<n)
	{
		k++;
		x0=x;
		x=x0-fun(x0)/dfun(x0);
	}
	if(k>n) flag=0;
	if(flag==1) x0=x;
	return flag;
}

void main()
{
	cout<<"Newton求非线性方程的根:\n";
	int n,flag;
	double pe,x0;
	cout<<"请输入初始解x0:\n";
	cin>>x0;
	cout<<"请输入最大迭代次数n:\n";
	cin>>n;
	cout<<"请输入精度要求:\n";
	cin>>pe;

	flag=newton(x0,n,pe);
	if(flag==1)
		cout<<"解为:\n"<<"x="<<x0<<endl;
	else
		cout<<"无解\n";
}

⌨️ 快捷键说明

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