/*********************************************************************** * * File: mcint.c (16-Jun-2001) * (15-Jun-2005) * * Monte Carlo Integration der Funktion * * f(x) = 1/(1+x^2) * * ueber dem Intervall [a,b] * * a,b...Intervallgrenzen * n.....Anzahl der Stuetzpunkte * **********************************************************************/ #include #include #include /**********************************************************************/ double f(double x) { /**********************************************************************/ return 1.0/(1.0+x*x); } /**********************************************************************/ int main() { /**********************************************************************/ int i,n; double a,b,s,x; printf(" a,b="); scanf("%lf,%lf",&a,&b); printf(" n="); scanf("%d",&n); s=0.0; for(i=1;i<=n;i=i+1) { x=a+(b-a)*drand48(); s=s+f(x); } s=(b-a)*s/n; printf("s=%14.7e (%14.7e)\n",s,atan(b)-atan(a)); return 0; } /**********************************************************************/