calculate.cpp

来自「vc下用复化梯形积分法和复化Simpson积分法以及Gauss-Legendre」· C++ 代码 · 共 72 行

CPP
72
字号
#include "Calculate.h"
//#include "GaussRemove.h"
//#include "stdio.h"

double ee = 0.0000000001;
long MaxN = 1000;	//最大节点数

void main()
{
	double e = 0;
	int n;	//初始节点个数
	
	double * pd_Result = new double [1];		//u(xi)的结果

	//复化梯形法,初始n = 32
	n = 32 ;
	do 
	{	
		n = n*2;
		if ( n > MaxN)
		{
			n = n/2;
			break;
		}		
		delete []pd_Result ;		
		pd_Result = FormulaTrapezia(n,e);
		
	} 
	while( e >= ee);

 	OutPutResult(pd_Result,n);
	cout<<"The number of FormulaTrapezia is "<<n<<"!"<<endl;	
	
	cout<<"The error of FormulaTrapezia is:";
	cout<<setiosflags(ios::scientific)<<setprecision(11)<<e<<endl;
	
	//复Simpson法,初始n = 32
	n = 32 ;
	do 
	{	
		n = n*2;
		if ( n > MaxN)
		{
		n = n/2;
		break;
		}		
		delete []pd_Result ;		
		pd_Result = FormulaSimpson(n,e);	
	} 
	while( e >= ee);


 	OutPutResult(pd_Result,n);
	cout<<"The number of FormulaSimpson is "<<n<<"!"<<endl;	
	
	cout<<"The error of FormulaSimpson is:";
	cout<<setiosflags(ios::scientific)<<setprecision(11)<<e<<endl;
	



	//Gauss积分法
	n = 7;
	
	pd_Result = FormulaGauss(n,e);

  	ShowVector(pd_Result,n);
	cout<<"The error of FormulaGauss is:";
	cout<<setiosflags(ios::scientific)<<setprecision(11)<<e<<endl;	
}

⌨️ 快捷键说明

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