アットウィキロゴ

正規分布のしむ

var x = new Array();
var d = new Array();
var f = new Array();
var point = new Array();
 
function sample(){
 
 
    d[0] = 1;
    d[1] = 1;
    for(s=1;s<101;s++){
    d[s]=d[s-1]*s;    
    }
 
    p = 0.5;
    q = 0.5;
 
    for(k=0;k<101;k++){
    x[k]=d[100]*Math.pow(p,k)*Math.pow(q,100-k)/(d[k] * d[100 - k]);
    }
 
 
 
 
    f[0] = x[0];
 for (k = 1; k < 101;k++ ){
   f[k]=f[k-1]+x[k];    
    }
 
    for (s = 0; s < 101; s++) {
        point[s] = 0;p
    }
 
    for (s = 1; s < 10001;s++ ){
        sxs = 0;
        r1 = Math.random();
    for(sx=0;sx<101;sx++){
    if(r1>f[sx])sxs=sx;    
    }
    point[sxs]=point[sxs]+1;    
    }
 
 
    maxy = 0;
    for (s = 1; s < 101;s++ ){
    if(point[s]>maxy)maxy=point[s];    
    }
 
 
 
        paint();
 
 
}
 
function paint(){
 
 var sub=new svgpaint();
 
str="<svg width=\"500\" height=\"500\">";
 
for(s=0;s<101;s++){
x1 = 500*point[s]/maxy;
str=str+sub.rect(5*s,500-x1,5,x1,"blue");
}
 
str=str+sub.line(0,0,0,500,4,"black");
str=str+sub.line(0,500,500,500,4,"black");
 
 
str=str+"</svg>";
 
$("#memo").html(str);      
 
 
}
 
最終更新:2016年02月25日 12:58