package p4;
public class pro {
double[] sigx=new double[11];
double[] mux=new double[11];
double[] p=new double[11];
double[] mu=new double[11];
double[] sig=new double[11];
int datanumber,number;
double[] avg=new double[101];
double[] delta=new double[101];
double[] ps=new double[11];
double[] deltas=new double[101];
public static void main(String[] args) {
pro t=new pro();
}
pro(){
number=10;
int sx;
avg[ 1 ]= 270 ;
avg[ 2 ]= 265.9 ;
avg[ 3 ]= 311.9 ;
avg[ 4 ]= 317.3 ;
avg[ 5 ]= 351.2 ;
avg[ 6 ]= 357.7 ;
avg[ 7 ]= 395.9 ;
avg[ 8 ]= 424.1 ;
avg[ 9 ]= 457.5 ;
avg[ 10 ]= 483.8 ;
avg[ 11 ]= 572.2 ;
avg[ 12 ]= 569.3 ;
avg[ 13 ]= 608.9 ;
avg[ 14 ]= 677.7 ;
avg[ 15 ]= 691.8 ;
avg[ 16 ]= 702.8 ;
avg[ 17 ]= 769.8 ;
avg[ 18 ]= 812 ;
avg[ 19 ]= 839 ;
avg[ 20 ]= 884.1 ;
avg[ 21 ]= 1193.40 ;
for(sx=1;sx<number+1;sx++){
mu[sx]=200*sx;
sig[sx]=100;
mux[sx]=200*sx;
sigx[sx]=100;
p[sx]=0.1;
}
int s;
for(s=1;s<22;s++){
delta[s]=100;
}
datanumber=21;
int y,y1,y2;
y1=300;
y2=350;
for(s=1;s<11;s++){
double p1=0;
for(y=y1;y<y2;y++){
p1=p1+p[s]*f(y,mu[s],sig[s]);
}
ps[s]=p1;
}
double[] q=new double[11];
int tr=7;
for(y=0;y<2000;y++){
double p2=0;
double[] px=new double[12];
for(s=1;s<11;s++){
px[s]=ps[s]*f(y,mux[s],sigx[s]);
}
p2=0;
for(s=1;s<11;s++){
p2=p2+px[s];
}
for(s=1;s<11;s++){
px[s]=px[s]/p2;
}
for(s=1;s<11;s++){
q[s]=q[s]+px[s]*f(y,avg[tr],delta[tr]);
}
}
double[] pp=new double[2001];
for(y=0;y<2000;y++){
double p3=0;
for(s=1;s<11;s++){
p3=p3+q[s]*f(y,mux[s],sigx[s]);
}
pp[y]=p3;
}
double z1=0;
for(y=0;y<2000;y++){
z1=z1+pp[y]*(y-avg[tr])*(y-avg[tr]);
}
double z2=0;
for(y=0;y<2000;y++){
z2=z2+pp[y];
}
deltas[tr]=Math.sqrt(z1/z2);
System.out.println(deltas[tr]);
}
double f(double x,double mup,double sigp){
double pi,f1,f2;
pi=Math.PI;
f2=Math.sqrt(2*pi*sigp*sigp);
f1=-(x-mup)*(x-mup)/(2*sigp*sigp);
return Math.exp(f1)/f2;
}
}
最終更新:2017年01月09日 22:13