アットウィキロゴ

こうあn

package p4;
 
 
public class pro {
 
    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=new double[101];
 
    double[][] px=new double[11][2001];
     double[][] pxs=new double[11][2001];
 
      int[] point=new int[100];
 
    public static void main(String[] args) {
        pro t=new pro();
    }
    pro(){
 
 
 number=10;
 
 int sx;
 
 
  avg[	1	]=	270	;
avg[	2	]=	265.9	;
avg[	3	]=	311.9	;
avg[	4	]=	317.3	;
avg[	5	]=	351.2	;
avg[	6	]=	357.7	;
avg[	7	]=	395.9	;
avg[	8	]=	424.1	;
avg[	9	]=	457.5	;
avg[	10	]=	483.8	;
avg[	11	]=	572.2	;
avg[	12	]=	569.3	;
avg[	13	]=	608.9	;
avg[	14	]=	677.7	;
avg[	15	]=	691.8	;
avg[	16	]=	702.8	;
avg[	17	]=	769.8	;
avg[	18	]=	812	;
avg[	19	]=	839	;
avg[	20	]=	884.1	;
avg[	21	]=	1193.40	;
  point[	1	]=1351	;
point[	2	]=	296	;
point[	3	]=	265	;
point[	4	]=	227	;
point[	5	]=	238	;
point[	6	]=	209	;
point[	7	]=	197	;
point[	8	]=	169	;
point[	9	]=	183	;
point[	10	]=	149	;
point[	11	]=	164	;
point[	12	]=	133	;
point[	13	]=	136	;
point[	14	]=	125	;
point[	15	]=	141	;
point[	16	]=	124	;
point[	17	]=	99	;
point[	18	]=	89	;
point[	19	]=	61	;
point[	20	]=	60	;
point[	21	]=	410	;
 
   for(sx=1;sx<number+1;sx++){  
   mu[sx]=200*sx;
   sig[sx]=100;
   mux[sx]=200*sx;
   sigx[sx]=100;
   p[sx]=0.1;
   }
 
   int s;
   for(s=1;s<22;s++){
   delta[s]=100;    
   }
 
 datanumber=21;  
 
 int tr=5;
 for(tr=1;tr<datanumber+1;tr++){
 delta sub=new delta();
 sub.number=number;
 sub.datanumber=datanumber;
 sub.mu=mu;
 sub.sig=sig;
 sub.mux=mux;
 sub.sigx=sigx;
 sub.p=p;
 sub.avg=avg;
 sub.delta=delta;
 sub.makedata(tr);
 deltas[tr]=sub.deltas;
 }
 
for(tr=1;tr<datanumber+1;tr++){
 rev sub2=new rev();
 sub2.number=number;
 sub2.datanumber=datanumber;
 sub2.mu=mu;
 sub2.sig=sig;
 sub2.mux=mux;
 sub2.sigx=sigx;
 sub2.p=p;
 sub2.avg=avg;
 sub2.delta=delta;
 sub2.makedata(tr);
px=sub2.pxs; 
int y;
 
 
for(s=1;s<11;s++){
for(y=0;y<2000;y++){
pxs[s][y]=pxs[s][y]+point[tr]*px[s][y];    
}}
 
 
}
 
int y;
for(s=1;s<number+1;s++){
double a1=0;
double a2=0; 
for(y=0;y<2000;y++){
a1=a1+pxs[s][y];
a2=a2+y*pxs[s][y];
}
double a3=0; 
for(y=0;y<2000;y++){
a3=a3+(y-a2)*(y-a2)*pxs[s][y];
}
System.out.println(Math.sqrt(a3/a1));
}
 
 
 
 
 
 
 
 
    }
 
}
 
 
package p4;
 
 
public class rev {
 
    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;
 
   double[][] pxs=new double[11][2001];
 
    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;
 }
 
 for(y=1;y<2000;y++){
 
 double[] px=new double[11];      
 
 for(s=1;s<11;s++){    
 px[s]=ps[s]*f(y,mux[s],sigx[s]);    
 }    
 double p1=0;
  for(s=1;s<11;s++){    
 p1=p1+px[s];    
 }    
 
 for(s=1;s<11;s++){    
 pxs[s][y]=f(y,avg[tr],delta[tr])*px[s]/p1;    
 }    
 
 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    }
 
    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;
}
 
}
 
 
 
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[] q=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++){
 q[s]=q[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+q[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月09日 23:17