class make94{
double z1,z2,z3,z4,z5,z6;
int byear,car,cho,age;
double mis[][]=new double[100][51];
double mos[][]=new double[100][51];
double f2by[][]=new double[200][100];
double falpha[]=new double[100];
double fbeta[]=new double[100];
double fgamma[]=new double[100];
double ftheta[]=new double[100];
double fgnew1[][]=new double[200][100];
double v[]=new double[100];
double f2rate[]=new double[200];
void makedata(){
cho=1900;
make16 mk16=new make16();
mk16.makedata();
f2by=mk16.f2by;
datainput18 di18=new datainput18();
di18.makedata();
falpha=di18.falpha;
fbeta=di18.fbeta;
fgamma=di18.fgamma;
datainput152 di152=new datainput152();
di152.makedata();
ftheta=di152.ftheta;
datainput402 di402=new datainput402();
di402.makedata();
f2rate=di402.f2rate;
for (byear=1990;byear<2035;byear++){
for (age = 15;age<65;age++){
for (car=1;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-fgamma[age-1])*f2by[byear-cho][age-1];
z2 = f2by[byear-cho] [age]-z1;
if (z2 < 0)z2 = 0;
z3 = (1 - ftheta[age]) * z2;
z4 = ftheta[age] * z2;
mis[age][1] = z3;
z5 = 0;
for (car = 1;car<50;car++){
z5 = z5 + mos[age-1][car];
}
if (z5 == 0)z5 = 1;
v[age]=z4 /z5;
if (v[age] > 1)v[age]=1;
for (car=2;car<50;car++){
mis[age][car] = (1-fgamma[age-1]) * mis[age-1][car-1] + v[age] * mos[age-1][car-1];
}
for (car=1;car<50;car++){
mos[age][car] = (fgamma[age-1] - falpha[age-1] - fbeta[age-1]) * mis[age-1][car] + (1 - v[age]) * mos[age-1][car];
}
}
for (age=15;age<65;age++){
z6 = 0;
for (car=1;car<25;car++){
z6 =z6+f2rate[age]*falpha[age]*mis[age][car];
}
for (car=25;car<50;car++){
z6 =z6+f2rate[age]*falpha[age]*(mis[age][car]+mos[age][car]);
}
fgnew1[byear-cho][age] = z6;
}
}
}
}
最終更新:2011年03月21日 12:14