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

📄 梯形法.cpp

📁 这是我编的一个利用梯形法数值计算积分的程序。
💻 CPP
字号:
#include<iostream.h>
#include<math.h>

#define Pi 3.1415926535//给圆周率赋值

int n=1;//分段数

double InterGra(int);//定义函数积分

double Fun(double);//定义被积分函数

void main() 
{
	cout<<"梯形法计算函数f(x)=xcos(x)sin(30x)从0到2pi上的积分"<<endl;
	double Dif=10000;
	while(Dif>0.000000000000000001)
	{
		n=2*n;
		Dif=(InterGra(n)-InterGra(2*n))*(InterGra(n)-InterGra(2*n));
		cout<<"n="<<n<<"   ""I="<<InterGra(n)<<"     "<<"error="<<sqrt(Dif)<<endl;
	}
}
//判断n和2n的划分的差别是否收敛,收敛则输出积分结果

double InterGra(int m)
{
	double h=2*Pi/double(m);
	double Xi;
	double sum=0;

	for(int i=0;i<m;i++)
	{
		Xi=i*h;
		sum=sum+Fun(Xi)+Fun(Xi+h);
		
	}
	return sum*h/2;
}
//实现对被积函数的积分

double Fun(double x)
{
	return x*cos(x)*sin(30*x);
}
//返回被积函数的值

⌨️ 快捷键说明

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