class ex31{
double mis[][]=new double[100][51];
double mos[][]=new double[100][51];
double m2by[][]=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 mtime1[]=new double[200];
int byear,cho,car,age;
double z1,z2,z3,z4,z5,z6,z7;
double v;
void makedata(String file){
ex16 sub1=new ex16();
sub1.makedata(file);
m2by=sub1.m2by;
data151 sub2=new data151();
sub2.makedata();
alpha=sub2.alpha;
beta=sub2.beta;
gamma=sub2.gamma;
data152 sub3=new data152();
sub3.makedata();
theta=sub3.mtheta;
cho=1900;
for(byear=1990; byear<2035; byear++){
for(age=15;age<65;age++){
for(car=0;car<50;car++){
mis[age][car]=0;
mos[age][car]=0;
}
}
for(age=16;age<65;age++){
z1= (1 - gamma[age - 1])* m2by[byear-cho][age-1];
z2=m2by[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<50;car++){
z5 = z5 + mos[age-1][car];
}
if(z5 == 0)z5 = 1;
v=(double)z4/z5;
if(v > 1)v = 1;
for(car=2;car<50;car++){
z6 =(1 - gamma[age - 1]) *mis[age-1][car-1];
mis[age][car]=z6+v * mos[age-1][car-1];
}
for(car=1;car<50;car++){
z7=(gamma[age - 1] - alpha[age - 1] - beta[age-1]) * mis[age-1][car];
mos[age][car] = z7+(1 - alpha[age - 1] - v) * mos[age-1][car];
}
}
z1=0;
z2=0;
for(car=25;car<50;car++){
z1 = z1 + mis[64][car] + mos[64][car];
z2=z2+car*(mis[64][car] + mos[64][car]);
}
mtime1[byear-cho] = z2/z1;
}
}
}
最終更新:2011年09月18日 13:01