package p4;
public class pro {
int[] point=new int[31];
int[] pointx=new int[31];
String[] data=new String[500];
int s,number,datanumber;
double[] mu=new double[11];
double[] sig=new double[11];
double[] p=new double[11];
double[] mux=new double[11];
double[] sigx=new double[11];
double[] mus=new double[11];
double[] sigs=new double[11];
double[] ps=new double[11];
double[] dmu=new double[11];
double[] dsig=new double[11];
double[][] px=new double[11][22];
public static void main(String[] args) {
pro t=new pro();
}
pro(){
number=10;
for(s=1;s<number+1;s++){
mu[s]=2*s;
sig[s]=2;
p[s]=0.1;
mux[s]=2*s;
sigx[s]=2;
}
for(s=1;s<11;s++){
int sx;
double p1=0;
for(sx=1;sx<22;sx++){
p1=p1+f(sx,mu[s],sig[s]);
}
for(sx=1;sx<21;sx++){
px[s][sx]=p[s]*f(sx,mu[s],sig[s])/p1;
}
}
System.out.println(sample(1,2));
}
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;
}
double f(double x,double mux,double sigx){
double pi,f1,f2;
pi=Math.PI;
f2=Math.sqrt(2*pi*sigx*sigx);
f1=-(x-mux)*(x-mux)/(2*sigx*sigx);
return Math.exp(f1)/f2;
}
}
最終更新:2016年12月20日 05:06