/*********************************************************************** * * File: gauss5.c (30-Mar-2001) * (24-Mar-2006) * (20-Mar-2008) * * Numerische Integration der Funktion * * f(x) = exp(x) * * mit der 5-Punkt Gauss-Legendre Formel * * a,b...Intervallgrenzen * **********************************************************************/ #include #include #define N 5 const float w[N]={0.236927,0.478629,0.568889,0.478629,0.236927}; const float x[N]={-0.90618,-0.538469,0.0,0.538469,0.90618}; /**********************************************************************/ float f(float x) { /**********************************************************************/ return exp(x); } /**********************************************************************/ int main() { /**********************************************************************/ int i; float a,b,s; printf(" a,b="); scanf("%f,%f",&a,&b); s=0.0; for(i=0;i<=N-1;i=i+1) { s=s+w[i]*f(0.5*(a+b+x[i]*(b-a))); } s=0.5*s*(b-a); printf(" s=%14.7e (%14.7e)\n",s,exp(b)-exp(a)); return 0; } /**********************************************************************/