/*********************************************************************** * * File: trapez.c (15-Mar-2001) * (27-May-2005) * * Numerische Integration der Funktion * * f(x) = 1/(1+x*x) * * mit der Trapezregel * * a,b...Intervallgrenzen * n.....Anzahl der Stuetzpunkte * s.....Wert des Integrals * **********************************************************************/ #include #include /**********************************************************************/ float f(float x) { /**********************************************************************/ return 1.0/(1.0+x*x); } /**********************************************************************/ int main() { /**********************************************************************/ int i,n; float a,b,dx,s; printf("a,b="); scanf("%f,%f",&a,&b); printf("n="); scanf("%d",&n); dx=(b-a)/n; s=0.5*(f(a)+f(b)); for(i=1;i<=n-1;i=i+1) { s=s+f(a+i*dx); } s=dx*s; printf("s=%12.7e (%12.7e)\n",s,atan(b)-atan(a)); return 0; } /**********************************************************************/