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

📄 龙贝格.cpp

📁 定步长辛普森公式计算.二分法.列主高斯消去法.龙贝格.牛顿迭代法.弦截法.逐次超松弛迭代法.
💻 CPP
字号:
#include "stdio.h"
#include "math.h"
#include "malloc.h"
#include "iostream.h"



double Func(double x)
{
	if(x==0.0000000)
		return 1;
	else
		return(sin(x)/x);
}

double ROMBG(double a,double b,double eps)
{
	double l,h,r,s,k,l0,m,n;
	int j,q;
	double t[11];	
	l=b-a;
	h=l;
	t[0]=(Func(a)+Func(b))*l*0.5;
	for(q=0;q<=9;q++)
	{
		r=h;
		h*=0.5;
		k=h;
		s=Func(a+k);
		do
		{
			k+=r;
			if(fabs(k)<fabs(l))
				s+=Func(a+k);
		}while(fabs(k)<fabs(l));
		t[q+1]=t[q]*0.5+h*s;
		l0=1;
		for(j=q;j>=0;j--)
		{
			l0*=0.25;
			m=(t[j+1]-t[j])/(1-l0);
			t[j]+=m;
		}
	}
		n=t[0];
		m/=n;//cout<<t[0]<<t[1];
		if(fabs(m)<eps&&q>3)
		{
			r=t[0];
			return(r);
		}
		else
			return 0;
}

void main()
{
	double a,b,eps;
	a=0.0;
	b=1.0;
	eps=0.0000005;
	printf("%.10f\n",ROMBG(a,b,eps));

}

⌨️ 快捷键说明

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