アットウィキロゴ

yop,er

package p4;
 
public class delta {
 
    double[] sigx=new double[11];
    double[] mux=new double[11];
     double[] p=new double[11];
    double[] mu=new double[11];
    double[] sig=new double[11];
 int datanumber,number;
 
    double[] avg=new double[101];
  double[] delta=new double[101];
 
  double[] ps=new double[11];
 
   double deltas;
 
    void makedata(int tr){
 
 
 
 
 int sx,s;
 
 
 
 
 int y,y1,y2;
 y1=50*tr-50;
 y2=50*tr;
 
 if(y2>1000)y2=2000;
 
 for(s=1;s<11;s++){
 double p1=0;
 for(y=y1;y<y2;y++){
 p1=p1+p[s]*f(y,mu[s],sig[s]);
 }
 ps[s]=p1;
 }
 
 
 
 
 
 double[] rate=new double[11];
 
 
 for(y=0;y<2000;y++){
 
 double p2=0;     
 
 double[] px=new double[12];  
 
 for(s=1;s<11;s++){
 px[s]=ps[s]*f(y,mux[s],sigx[s]);
 }  
 
 p2=0;
 for(s=1;s<11;s++){
 p2=p2+px[s];
 }  
 for(s=1;s<11;s++){
 px[s]=px[s]/p2;
 }    
 for(s=1;s<11;s++){
 rate[s]=rate[s]+px[s]*f(y,avg[tr],delta[tr]);
 }   
 }
 
 
 
 
double[] pp=new double[2001]; 
 
for(y=0;y<2000;y++){
 
double p3=0; 
for(s=1;s<11;s++){
p3=p3+rate[s]*f(y,mux[s],sigx[s]);
}      
pp[y]=p3;                  
}
 
double z1=0;
for(y=0;y<2000;y++){
z1=z1+pp[y]*(y-avg[tr])*(y-avg[tr]);                 
}
 double z2=0;
for(y=0;y<2000;y++){
z2=z2+pp[y];                 
}
 
deltas=Math.sqrt(z1/z2);
 
 
 
 
 
 
 
 
    }
 
    double f(double x,double mup,double sigp){
double pi,f1,f2;
 
        pi=Math.PI;
 
        f2=Math.sqrt(2*pi*sigp*sigp);
        f1=-(x-mup)*(x-mup)/(2*sigp*sigp);
 
        return Math.exp(f1)/f2;
}
 
}
 
最終更新:2017年01月10日 04:12