HTML

2010.04.30. 06:28 emmett

Ha veletlenszam-generator egy cos(), akkor ez tortenik. Ekkor a globalis rejtett parameter ennek a fazisa, amihez helyileg mindig hozzaadodik a polarizator polarizacios iranya. Sajnos ez a modell sem jo, idealis esetben max S()=2.65 ad.

 


#include <stdio.h>
#include <stdlib.h>
#include <math.h>


double frandom() {return (double )(rand()%10000)/10000.0;}
double sqr(double n) {return n*n;}


int main()
{
    int i,j,n=500000;
    double amp1,amp2,counter=0,amp3,amp4,e,a1,a2,f1,f2,rand1,rand2,radian=M_PI/180;


    for(j=0;j<180;j+=10)
    {
        a1=35*radian;//polarizatorok
        a2=a1+j*radian;
      
        for(i=0;i<n;i++)
        {
            int f1=frandom()*M_PI*2;
            int f2=frandom()*M_PI*2;

            amp1=sqr(cos(a1-f1));//malus torveny
            amp2=sqr(cos(a2-f1));

            rand1=fabs(cos(a1-f2));//veletlenszam generator
            rand2=fabs(cos(a2-f2));

            if(amp1>rand1)
            if(amp2>rand2)
                counter++;
        }
        counter/=n;
        printf("%f %f  \n",0.5*sqr(cos(a1-a2)),counter);
    }

}
 
 

 

komment


süti beállítások módosítása