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

📄 牛顿迭代法.txt

📁 方程求根 二分法 割线法 牛顿迭代法 vc++源程序
💻 TXT
字号:
#include<stdio.h>
#include<math.h>
#define N 100
#define eps 1e-6
#define eta 1e-8

float Newton(float(*f)(float),float(*f1)(float),float x0)
{
	float x1,d;
	int k=0;
	do
	{
		x1=x0-(*f)(x0)/(*f1)(x0);
		if(k++>N || fabs((*f1)(x1))<eps)
		{
			printf("\n Newton迭代发散");
			break;
		}
		d=fabs(x1)<1?x1-x0:(x1-x0)/x1;
		x0=x1;
		printf("x(%d)=%f\t",k,x0);
	}
	while(fabs(d)>eps&&fabs((*f)(x1))>eta);
	return x1;
}

float f(float x)
{
	return x*x*x+x*x-3*x-3;
}

float f1(float x)
{
	return 3.0*x*x+2*x-3;
}

void main()
{
	float x0,y0;
	printf("请输入迭代初值x0\n");
	scanf("%f",&x0);
	printf("x(0)=%f\n",x0);
	y0=Newton(f,f1,x0);
	printf("方程的根为:%f\n",y0);
}

⌨️ 快捷键说明

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