class ex46{
double z1,z2,z3,z4,z5,z6;
double w1,w2,w3,w4,w5,w6;
int byear,age,car;
double mis[][]=new double[100][51];
double mos[][]=new double[100][51];
double wmis[][]=new double[100][51];
double wmos[][]=new double[100][51];
double ftuwage1[]=new double[200];
double f2by[][]=new double[200][100];
double alpha[]=new double[100];
double beta[]=new double[100];
double gamma[]=new double[100];
double theta[]=new double[100];
double fw[]=new double[100];
double v[]=new double[100];
int cho;
void makedata(String file){
data14 di14=new data14();
di14.makedata();
fw=di14.fw;
ex16 mk16=new ex16();
mk16.makedata(file);
f2by=mk16.f2by;
data18 di151=new data18();
di151.makedata();
alpha=di151.alpha;
beta=di151.beta;
gamma=di151.gamma;
data152 di152=new data152();
di152.makedata();
theta=di152.ftheta;
cho=1900;
for(byear=1990;byear<2035;byear++){
for(age=16;age<65;age++){
for(car=0;car<50;car++){
mis[age][car]=0;
mos[age][car]=0;
}
}
mis[15][1] = f2by[byear-cho][15];
for(age=16;age<65;age++){
z1= (1 - gamma[age - 1])* f2by[byear-cho][age-1];
z2=f2by[byear-cho][age] - z1;
if(z2 < 0)z2 = 0;
z3 =(1 - theta[age]) * z2;
z4 = theta[age] * z2;
mis[age][1] = z3;
z5 = 0;
for(car=1;car<51;car++){
z5 = z5 + mos[age-1][car];
}
if(z5 == 0)z5 = 1;
v[age]=(double)z4/z5;
if(v[age] > 1)v[age] = 1;
for(car=2;car<50;car++){
z6 =(1 - gamma[age - 1]) *mis[age-1][car-1];
mis[age][car]=z6+v[age] * mos[age-1][car-1];
}
for(car=1;car<49;car++){
z6=(gamma[age - 1] - alpha[age - 1] - beta[age-1]) * mis[age-1][car];
mos[age][car] = z6+(1 - alpha[age - 1] - v[age]) * mos[age-1][car];
}
}
for (age = 16;age<65;age++){
for (car=1;car<50;car++){
wmis[age][car] = 0;
wmos[age][car] = 0;
}
}
wmis[15][1]=fw[15];
for (age = 16;age<65;age++){
wmis[age][1]=fw[age];
for (car=2;car<50;car++){
w1=wmis[age-1][car-1]*(1-gamma[age-1]) * mis[age-1][car-1];
w1=w1+wmos[age-1][car-1]*v[age] * mos[age-1][car-1];
w2=mis[age][car]+0.00001;
w3=w1/w2;
wmis[age][car]=(fw[age]+(car-1)*w3)/car;
}
for (car=1;car<50;car++){
w1=wmis[age-1][car]*(gamma[age-1] - alpha[age-1] - beta[age]) * mis[age-1][car];
w1=w1+wmos[age-1][car]*(1 - v[age]) * mos[age-1][car];
w2=mos[age][car]+0.00001;
wmos[age][car]=w1/w2;
}
}
z1=0.000001;
z2=0;
for(car=1;car<25;car++){
z1 = z1 + car*(mis[64][car] + mos[64][car]);
z2 = z2 + car*(wmis[64][car]*mis[64][car] +wmos[64][car]* mos[64][car]);
}
ftuwage1[byear-cho] =(double)z2/z1;
}
}
}
最終更新:2011年09月18日 14:10