アットウィキロゴ

ねこだいmyつ

package sigma;
 
 
public class pro {
 
  int[] y_max=new int[50];
  int[] y_min=new int[50];
  double[][] mat_p=new double[12][23];  
  double[] mu=new double[12];  
  double[] sig=new double[12];  
 double[] p=new double[12];  
 
  double[] mu_rev=new double[12];  
  double[] sig_rev=new double[12];  
 double[][] ps=new double[24][12]; 
 
 double[] mu_rank=new double[24];  
  double[] sig_rank=new double[24];  
 
    public static void main(String[] args) {
        pro t=new pro();
    }
 
    pro(){
 
           int s;
 
        for(s=1;s<22;s++){
        y_min[s]=50*s-50;
        y_max[s]=50*s;
        }
 
        y_max[21]=2000;
 
 
       for(s=1;s<11;s++){
       mu[s]=100*s-50;
       sig[s]=50;
       p[s]=0.1;
       mu_rev[s]=100*s-50;
       sig_rev[s]=50;
        }
 
 
        int k;
        for(k=1;k<11;k++){
        double p1=0; 
        for(s=0;s<2000;s++){
        p1=p1+f(s,mu[k],sig[k]);
           }
 
     int tr=6;
 
 
     for(tr=1;tr<22;tr++){
 
        int tr1=y_min[tr];
 
        int tr2=y_max[tr];
 
        double p2=0;
        for(s=tr1;s<tr2;s++){
       p2=p2+f(s,mu[k],sig[k]);
        }    
 
        mat_p[k][tr]=p2/p1;
 
        }
 
        }
 
        int sx;
 
        for(s=1;s<22;s++){
        for(sx=1;sx<11;sx++){
        ps[s][sx]=0;
        }
        }
 
 
        for(s=1;s<22;s++){
        for(sx=1;sx<11;sx++){
        ps[s][sx]=ps[s][sx]+p[sx]*mat_p[sx][s];
        }
        }
 
        for(s=1;s<22;s++){
        double m1=0;
        double m2=0;
        for(sx=1;sx<11;sx++){
        m1=m1+ps[s][sx];
        m2=m2+ps[s][sx]*mu_rev[sx];
        }
        mu_rank[s]=m2/m1;
        System.out.println(y_min[s]+","+m2/m1);
        }
 
        for(s=1;s<22;s++){
        double m1=0;
        double m2=0;
        for(sx=1;sx<11;sx++){
        m1=m1+ps[s][sx];
        m2=m2+ps[s][sx]*sig_rev[sx];
        }
        sig_rank[s]=m2/m1;
 
        }
 
 
 
 
 
 
 
 
 
    }
 
        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月21日 14:24