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

📄 数值积分.cpp

📁 线性插值算法上机已验证成功适合于计算方法学习者编程
💻 CPP
字号:

//程序代码:
#include<stdio.h>
#include<math.h>
#define f(x) (sin(x))
#define a 0.0
#define b 4.0
//复化梯形积分的通用函数
	double CT(double n)
	{	double h=(b-a)/n;
		double T=(f(a)+f(b))/2;
		int i;
		for(i=1;i<n;i++)
			T+=f(a+h*i);
		T*=h;
		return T;
	}
//复化辛普森积分的通用函数
	double CS(double  n)
	{   double m=n/2;
		double h=(b-a)/n;
		double S=f(a)+f(b);
		int i,j;
		for(i=0;i<m;i++)
			S+=4*f(a+h*(2*i+1));
		for(j=1;j<m;j++)
			S+=2*f(a+h*(2*j));
		S*=h/3.0;
		return S;
	}
//主函数调用复化梯形积分和复化辛普森积分计算函数积分
	void main()
	{	double k;double m;
		double	S,T;
		double accurate;
		accurate=cos(a)-cos(b);
		printf("复化辛普森积分\n");
		for(k=1;k<=12;k++)
			{m=pow(2.0,k);
			 S=CS(m);
			 printf("%4.0f:         %.12f           %.12f\n",m,S,S-accurate);
			}
		printf("复化梯形积分\n");
		for(k=0;k<=12;k++)
			{m=pow(2.0,k);
			 T=CT(m);
			 printf("%4.0f:         %.12f          %.12f\n",m,T,T-accurate);
			}
	}
		//End of file
	

⌨️ 快捷键说明

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