a[i]=sqrt(sqrt(4*alfa/c-4.66666666));
}
ofstream out2("z2.dat");
out2<<"0 "<<n<<"\n";
for(i=0;i<n;i++) out2<<a[i]<<"\n";
out2.close();
cout<<hi2(a,1.);
}
/***************************/
float z3_1(int d[n])
{float c,a;
c=(float)d[0]/RAND_MAX;
for(int i=0;i<n-1;i++)
{ a=(float)d[i+1]/RAND_MAX;
if(c>a) c=a;
}
return c;
}
void z3(int d[n],float a[n])
{ cout<<"\n 3. ";
for(int i=0;i<n;i++)
{ randomize();
for (int i=0; i<n; i++) d[i]=rand();
a[i]=z3_1(d);
}
ofstream out3("z3.dat");
out3<<"0 "<<n<<"\n";
for(i=0;i<n;i++) out3<<a[i]<<"\n";
out3.close();
cout<<hi2(a,1.);
}
/***************************/
float gg(float x,float a)
{ return (x*exp(a*x));
}
float z4_1(int d[n],float b,float a)
{ int i;
float M6,ksi,eta;
M6=gg(-1/a,a);
if(M6<gg(b,a)) M6=gg(b,a);
i=0;
ksi=d[i]/RAND_MAX*b; eta=d[i+1]/RAND_MAX*M6;
while(eta>gg(ksi,a))
{ i++;
ksi=d[i]/RAND_MAX*b; eta=d[i+1]/RAND_MAX*M6;
}
return ksi;
}
void z4(int d[n],float a[n])
{ float c,b;
cout<<"\n 4. ";
cout<<"[0..b] ; b = ";cin>>b;
cout<<"a = ";cin>>c;
for(int i=0;i<n;i++)
{ randomize();
for (int i=0; i<n; i++) d[i]=rand();
a[i]=z4_1(d,b,c);
}
ofstream out4("z4.dat");
out4<<"0 "<<n<<"\n";
for(i=0;i<n;i++) out4<<a[i]<<"\n";
out4.close();
cout<<hi2(a,b);
}
/***************************/
float p(int i)
{float a;
//cout<<"a("<<i<<") = "; cin>>a; cout<<"\n";
a=0.001;
if(a>0) a=a/(i+1);
else p(i);
return a;
}
float z5_1(int d[n])
{ int i;
float M5,omega;
i=0; M5=d[0]/RAND_MAX; omega=d[0]/RAND_MAX;
M5=M5-p(i);
while(M5>=0)
{ i++;
if(d[i]/RAND_MAX>omega) omega=d[i]/RAND_MAX;
M5=M5-p(i);
}
return omega;
}
void z5(int d[n],float a[n])
{ cout<<"\n 5. ";
for(int i=0;i<n;i++)
{ randomize();
for (int i=0; i<n; i++) d[i]=rand();
a[i]=z5_1(d);
}
ofstream out5("z5.dat");
out5<<"0 "<<n<<"\n";
for(i=0;i<n;i++) out5<<a[i]<<"\n";
out5.close();
cout<<hi2(a,1.);
}
/***************************/
float g(float x)
{ float q;
q=(float)5/3;
return (pow(x,q)*exp(-x));
}
float z6_1(int d[n],float b)
{ int i;
float q;
float M6,ksi,eta;
q=(float)5/3;
M6=g(0.);
if(M6<g(b)) M6=g(b);
if(M6<g(q)) M6=g(q);
i=0;
ksi=d[i]/RAND_MAX*b; eta=d[i+1]/RAND_MAX*M6;
while(eta>g(ksi))
{ i++;
ksi=d[i]/RAND_MAX*b; eta=d[i+1]/RAND_MAX*M6;
}
return ksi;
}
void z6(int d[n],float a[n])
{ float b;
cout<<"\n 6. ";
cout<<"[0..b] ; b = ";cin>>b;
for(int i=0;i<n;i++)
{ randomize();
for (int i=0; i<n; i++) d[i]=rand();
a[i]=z6_1(d,b);
}
ofstream out6("z6.dat");
out6<<"Гамма-распределение, t[0]=2.666667, t[1]=1.0000, t[2]=0.0000\n";
out6<<"0 "<<n<<"\n";
for(i=0;i<n;i++) out6<<a[i]<<"\n";
out6.close();
cout<<hi2(a,b);
}
///////////////////////////////////////////
main()
{ int x[n];
float a[n];
// clrscr();
cout<<"\n"<<n;
// met1(x);
// z1(x,a);
// z2(x,a);
// z3(x,a);
z4(x,a);
//z5(x,a);
z6(x,a);
return 0;
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.