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