高斯型积分公式.doc
文本预览下载声明
Guass-Legendre积分程序
目的意义:
可以提高数值积分的代数精度
数学公式:
程序:
#includestdio.h
#includemath.h
#define N 10
#define f(x) (cos(x))
int main()
{
int n=0;
int k=0;
int i=0;
double x[N]={0.0};
double A[N]={0.0};
double s=0.0;
n=2;
switch(n)
{
case 1:
{
x[1]=0;
A[1]=2;
break;
}
case 2:
{
x[1]=-0.5773502692;
x[2]=0.5773502692;
A[1]=1;
A[2]=1;
break;
}
case 3:
{
x[1]=-0.77459666920;
x[2]=0;
x[3]=0.77459666920;
A[1]=0.5555555556;
A[2]=0.8888888889;
A[3]=0.5555555556;
break;
}
case 4:
{
x[1]=-0.8611363116;
x[2]=-0.3399810436;
x[3]=0.3399810436;
x[4]=0.8611363116;
A[1]=0.3478548451;
A[2]=0.6521451549;
A[3]=0.6521451549;
A[4]=0.3478548451;
break;
}
default:
{
printf(error! 请添加数据!\n);
return 0;
}
}
for(i=1;i=n;i++)
{
s=s+A[i]*f(x[i]);
}
printf(由高斯-勒让德积分公式计算得I=%lf\n,s);
return 0;
}
运行结果:
参考文献:
[1] 谭浩强. C语言程序设计[M]. 北京:清华大学出版社,2005.
[2] 秦新强. 数值逼近, 西安,2010.
显示全部