
1.目的意义:
可以提高数值积分的代数精度
2.数学公式:
3.程序:
#include #include #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.88888888; 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; } 4.运行结果: 5.参考文献: [1] 谭浩强. C语言程序设计[M]. 北京:清华大学出版社,2005. [2] 秦新强. 数值逼近, 西安,2010.
