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

📄 梯形公式和辛普生.cpp

📁 迭代法 梯形和辛普生方法 数值计算中经常遇到的问题
💻 CPP
字号:
#include<iostream.h>
double f(double x)
{
	return x/(4+x*x);
}
void main()
{
	int i,n;
	double a,b,h,x,s,result;
	cout<<"输入积分的上下限a,b:";
	cin>>a>>b;
	cout<<"使用梯形公式计算:"<<endl;
	cout<<"输入n的值:";
	cin>>n;
	h=(b-a)/n;
	s=0;
	for(i=1;i<n;i++)
	{
    	x=a+i*h;
		s=s+2*f(x);	
	}
	result=(s+f(a)+f(b))*h/2;
	cout<<"梯形公式计算的结果为"<<result<<endl;
    cout<<"使用辛卜生公式计算:"<<endl;
	cout<<"输入n的值:";
	cin>>n;
	h=(b-a)/n;
	s=0;
    for(i=1;i<=n;i++)
		s=s+2*f(a+(i-0.5)*h)+f(a+i*h);
	result=(s+(f(a)-f(b))/2)*h/3;
	cout<<"辛卜生公式计算的结果为:"<<result<<endl;
}





#include<iostream.h>
#include<math.h>
double f(double x)
{
	return sqrt(x);
}
void main()
{
	int i,n;
	double a,b,h,x,s,result;
	cout<<"输入积分的上下限a,b:";
	cin>>a>>b;
	cout<<"使用梯形公式计算:"<<endl;
	cout<<"输入n的值:";
	cin>>n;
	h=(b-a)/n;
	s=0;
	for(i=1;i<n;i++)
	{
    	x=a+i*h;
		s=s+2*f(x);	
	}
	result=(s+f(a)+f(b))*h/2;
	cout<<"梯形公式计算的结果为"<<result<<endl;
    cout<<"使用辛卜生公式计算:"<<endl;
	cout<<"输入n的值:";
	cin>>n;
	h=(b-a)/n;
	s=0;
    for(i=1;i<=n;i++)
		s=s+2*f(a+(i-0.5)*h)+f(a+i*h);
	result=(s+(f(a)-f(b))/2)*h/3;
	cout<<"辛卜生公式计算的结果为:"<<result<<endl;
}

⌨️ 快捷键说明

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