Gauss-Legendre积分公式
- 格式:doc
- 大小:278.50 KB
- 文档页数:7
数值逼近实习
题 目 二重积分的复化梯形公式
专 业 信息与计算科学
班 级 计算092
学 号 3090811072
学 生 薛藏朋
指导教师 秦新强
2011 年
一、实验目的
1.利用Gauss-Legendre公式计算积分
2.比较计算误差与实际误差
二、数学模型
),(),(12)(][)]()(2)([2)(''211bafhabfRbfxfafhdxxfnbankk
三、算法
Step 1:输入等分数n
Step2:输入积分上下限;
Step3: 求出步长及对应个点;
Step4: 由),(),(12)(][)]()(2)([2)(''211bafhabfRbfxfafhdxxfnbankk计算积分结果
Step5:将积分结果输出;
四、程序
#include
using namespace std;
#include"math.h"
#define N 10 double f(double x)
{double z;
z=cos(x);
return(z);
}
int main()
{
int i, n,m;
double X[N],A[N],F=0;
cout<<"请输入代数精度n"< cin>>n; m=(n+1)/2; switch(m) { case 1:X[1]=0;A[1]=2; break; case 2:X[1]=0.5773502692;X[2]=-X[1];A[1]=A[2]=1;break; case 3:X[1]=0.77459666920;X[2]=-X[1];X[3]=0;A[1]=A[2]=0.5555555556;A[3]=0.8888888889;break; case 4:X[1]=0.8611363116;X[2]=-X[1];X[3]=0.3399810436;X[4]=-X[3];A[1]=A[2]=0.3478548451; A[3]=A[4]=0.6521451549; break; case 5:X[1]=0.9061798459;X[2]=-X[1];X[3]=0.53846931010;X[4]=-X[3];X[5]=0;A[1]=A[2]=0.2369268851; A[3]=A[4]=0.4786286705;A[5]=0.5688888889; break; case 6:X[1]=0.9324695142;X[2]=-X[1];X[3]=0.6612093865;X[4]=-X[3];X[5]=0.12386191816;X[6]=-X[5]; A[1]=A[2]=0.1713244924;A[3]=A[4]=0.3607615730;A[5]=A[6]=0.4679139346; break; case 7:X[1]=0.9491079123;X[2]=-X[1];X[3]=0.7415311856;X[4]=-X[3];X[5]=0.40584515140;X[6]=-X[5];X[7]=0; A[1]=A[2]=0.1294849662;A[3]=A[4]=0.2797053915;A[5]=A[6]=0.3818300505;A[7]=0.4179591834; break; case 8:X[1]=0.9602898565;X[2]=-X[1];X[3]=0.7966664774;X[4]=-X[3];X[5]=0.5255324099;X[6]=-X[5];X[7]=0.1834346425; X[8]=-X[7];A[1]=A[2]=0.1012285363;A[3]=A[4]=0.2223810345;A[5]=A[6]=0.3137066459;A[7]=A[8]=0.3626837834; break; default:printf("error\n"); } for(i=1;i<=m;i++) { F=F+f(X[i])*A[i]; } cout<<"具有"< return 0; } 五、数值算例 六、参考文献 [1]秦新强,数值逼近,西安:西安理工大学印刷厂,2010. [2]秦新强,数值逼近学习指导,西安:西安理工大学印刷厂,2010.