package p5;
public class pro {
int number;
double[] mu=new double[11];
double[] sig=new double[11];
double[] mux=new double[11];
double[] sigx=new double[11];
double[] p=new double[11];
double[] y1=new double[10001];
double[] y2=new double[10001];
double[] y3=new double[10001];
double[] y4=new double[10001];
public static void main(String[] args) {
pro y=new pro();
}
pro(){
number=10;
int s;
for(s=1;s<number+1;s++){
mu[s]=100*s;
sig[s]=100;
mux[s]=100*s;
sigx[s]=100;
p[s]=0.1;
}
for(s=1;s<10001;s++){
int sx=randx();
y1[s]=sample(mu[sx],sig[sx]);
y2[s]=sample(mux[sx],sigx[sx]);
}
System.out.println(y1[1]+","+y2[1]);
double tr1=300;
double tr2=350;
int sx=0;
for(s=1;s<10001;s++){
int h=0;
if(y1[s]>tr1)h=h+1;
if(y1[s]<tr2)h=h+1;
if(h==2)sx=sx+1;
if(h==2)y3[sx]=y2[s];
}
System.out.println(sx);
int de=sx;
double a1=0;
for(s=1;s<de+1;s++){
a1=a1+y3[s];
}
a1=a1/de;
System.out.println(a1);
double s1=0;
for(s=1;s<de+1;s++){
s1=s1+(y3[s]-a1)*(y3[s]-a1);
}
s1=Math.sqrt(s1/de);
System.out.println(s1);
int delta=112;
for(s=1;s<10001;s++){
double pc=0;
for(sx=1;sx<delta+1;sx++){
pc=pc+sample(a1,s1);
}
y4[s]=pc/delta;
}
double a2=0;
for(s=1;s<10001;s++){
a2=a2+y4[s];
}
a2=a2/10000;
System.out.println(a1);
double s2=0;
for(s=1;s<10001;s++){
s2=s2+(y4[s]-a2)*(y4[s]-a2);
}
s2=Math.sqrt(s2/10000);
System.out.println(a2+","+s2);
}
double sample(double mumu,double sigsig) {
double pi = Math.PI;
double p1 = 0;
double p2 = 0;
double x1=Math.random();
double x2=Math.random();
double f1=Math.log(x1);
double r=Math.sqrt(-2*f1)*Math.cos(2 * pi * x2);
double z=mumu+sigsig*r;
return z;
}
int randx(){
int s;
double[] px=new double[100];
px[1]=p[1];
for(s=2;s<number+1;s++){
px[s]=px[s-1]+p[s];
}
double m1=Math.random();
int nn=1;
for(s=1;s<number;s++){
if(m1>px[s])nn=s;
}
return nn;
}
}
最終更新:2016年12月20日 10:18