アットウィキロゴ

SDr

package price;
 
 
public class pro {
 
    double[] cn=new double[101];
      double[] ln=new double[101];
     double[] k=new double[101];
     double h; 
     double a,beta,ms;
      double[] pn=new double[101];
     double[] px=new double[101];
      double[] pi=new double[101];
    double k1,n1,r1,l1,c1;
 
    public static void main(String[] args) {
        pro test=new pro();
    }
pro(){
 
    a=0.33;
    beta=0.95;
    ms=20;
 
    simple sub=new simple();
    cn=sub.cn;
    ln=sub.ln;
    k=sub.k;
    h=sub.h;
    int n;
 
    for(n=1;n<101;n++){
   pn[n]=1; 
    }
     int time; 
    for(time=1;time<300;time++){
 
    for(n=10;n<91;n++){
    px[n]=search(n);
    }
 
    for(n=10;n<91;n++){
    pn[n]=px[n];
    }
 
 
 
    }
 
 
 
    for(n=10;n<91;n++){
    System.out.println(pn[n]);
    }
 
 
 
}
double search(int n){
 
   double p1,p2,p3;
   double g1,g2;
   int mode;
   p1=1.1*pn[n];
   p2=0.9*pn[n];
 
   mode=0;
   while(mode<50){
   g1=g(n,p1);
   g2=g(n,p2);
 
   p3=p2-g2*(p2-p1)/(g2-g1); 
   p1=p2;
   p2=p3;
   if(g2*g2<0.001)mode=100;
   mode=mode+1;
   }
   return p2;
 
}
 
double g(int n,double pxs){
 
    double pipi,g1;
 
k1=k[n]+f(k[n],ln[n])-cn[n];
    n1=k1/h;
    l1=lab(n1);
    r1=a*Math.pow(k1,a-1)*Math.pow(l1,1-a);
pipi=price(n1)/pxs-1;
    g1=ms*(r1+pipi)/(cn[n]*(1+r1))-pxs;
    return g1;
}
double f(double k1,double l1){
double f1;
  f1=Math.pow(k1,a)*Math.pow(l1,1-a);  
return f1;    
}
 
double price(double nx){
double c1;
int n1,n2;
n1=(int)nx;
n2=n1+1;
c1=pn[n1]+(nx-n1)*(pn[n2]-pn[n1]);
return c1;
}
 
 
double lab(double n1){
  int n2,n3;
  double c1;
    n2=(int)n1;
 
    if(n2>90)n2=90;
 
    n3=n2+1;
 
 
    c1=ln[n2]+(n1-n2)*(ln[n3]-ln[n2]);
return c1;    
}
 
double con(double n1){
  int n2,n3;
  double c1;
    n2=(int)n1;
     if(n2>90)n2=90;
    n3=n2+1;
    c1=cn[n2]+(n1-n2)*(cn[n3]-cn[n2]);
return c1;    
}
 
 
 
}
 
最終更新:2013年09月16日 15:29