アットウィキロゴ

package mono;
 
 
public class pro {
 
 
    double[] lx=new double[6];
     double[][] p=new double[6][6];
    int s,number,sx;
     double[] n=new double[6];
 
     double alpha,beta;
 
      double[] r=new double[11];
       double[] rs=new double[11];
      double[] w=new double[11];
      double[][] c=new double[6][6];
     double[][] lc=new double[6][6];
     double[][] u=new double[6][6];
 
 
    public static void main(String[] args) {
        pro test=new pro();
    }
 
   pro(){ 
 
 
       beta=0.8;
       alpha=0.7;
 
       number=5;
 
       for(s=1;s<number+1;s++){
       lx[s]=0.5;
       }
 
 
 
       for(s=1;s<number+1;s++){
       for(sx=1;sx<number+1;sx++){
       p[s][sx]=(double)1/25;
       }}
 
 
       double n1;
 
       for(s=1;s<number+1;s++){
       n1=0;
       for(sx=1;sx<number+1;sx++){
       n1=n1+p[sx][s];
       }
       n[s]=n1;
       }
 
       for(s=1;s<number+1;s++){
       r[s]=(1-beta)*Math.pow(n[s],beta)*Math.pow(lx[s],-beta);
       w[s]=beta*Math.pow(n[s],beta-1)*Math.pow(lx[s],1-beta);
       }
 
 
       double r1;
 
       for(s=1;s<number+1;s++){
      rs[s]=rs(s);
      for(sx=1;sx<number+1;sx++){
      c[s][sx]=alpha*w[sx];
      lc[s][sx]=(1-alpha)*w[sx]/rs[s];
      }
      }
 
 
 
      for(s=1;s<number+1;s++){
      for(sx=1;sx<number+1;sx++){
      u[s][sx]=Math.pow(c[s][sx],alpha)*Math.pow(lc[s][sx],1-alpha);
      System.out.println(u[s][sx]);
 
 
      }
      }
 
 
 
 
 
 
 
 
 
 
 
 
}
 
 
double rs(int s){
 
  double r1,r2,r3;
  double l1,l2,l3;
  int mode;  
 
  r1=0.01;
  r2=20;
  mode=0;
  r3=0;
    while(mode<50){
    r3=(r1+r2)/2;
   l3=dl(s,r3);
   if(l3>1-lx[s])r1=r3;
   if(l3<1-lx[s])r2=r3;
   mode=mode+1;
    }
     return r3;
}
 
 
 
   double dl(int s,double r1){
 
      int sx;
      double l1;
      l1=0;
 for(sx=1;sx<number+1;sx++){  
l1=l1+p[s][sx]*(1-alpha)*w[sx]/(r1);  
 }
 
return l1;
}
}
最終更新:2014年05月24日 08:25