アットウィキロゴ

o9909

var c = new Array();
var y = new Array();
var sol = new Array();
 
function sample() {
 
        var query = "SELECT * FROM " +
            '1MXib5s2LpS6kidM01aFOVaEOEKgncnbvCMPIqR4Y';
        var encodedQuery = encodeURIComponent(query);
 
        var url = ['https://www.googleapis.com/fusiontables/v1/query'];
        url.push('?sql=' + encodedQuery);
        url.push('&key=AIzaSyAH0WCAXRIdHdbI-6bnMSN4kVDDZZmGyqY');
        url.push('&callback=?');
 
 
 
 
 
        $.ajax({
            url: url.join(''),
            dataType: 'jsonp',
            success: function (data) {
                var rows = data['rows'];
 
 
 
                sx = 0;
 
                for (var i in rows) {
                    sx = sx + 1;
                    c[sx] = rows[i][2];
                    y[sx] = rows[i][38];
 
 
 
                }
 
 
 
 
                number = sx;
 
 
                ols();
 
 
                paint();
 
 
 
 
 
 
 
 
 
            }
        });
 
}
 
 
function ols(){
 
var a=new Array();
var b=new Array();
 
 
 
for(s=1;s<3;s++){
a[s]=new Array();    
}
 
 
b1=0;    
for(s=1;s<number+1;s++){
b1=b1+c[s];    
}    
b[1]=b1;
 
 
 
b1=0;    
for(s=1;s<number+1;s++){
b1=b1+c[s]*y[s];    
}    
b[2]=b1;
 
 
a1=0;    
for(s=1;s<number+1;s++){
a1=a1+1*1;    
}    
a[1][1]=a1;  
 
a1=0;    
for(s=1;s<number+1;s++){
a1=a1+y[s];    
}    
a[1][2]=a1;  
a[2][1]=a1;
 
a1=0;    
for(s=1;s<number+1;s++){
a1=a1+y[s]*y[s];    
}    
a[2][2]=a1;  
 
 
for(s1=1;s1<3;s1++){
for(s2=1;s2<3;s2++){
z=a[s2][s1]/a[s1][s1];
if(s1==s2)z=0;
for(s=1;s<3;s++){
a[s2][s]=a[s2][s]-z*a[s1][s];
}
b[s2]=b[s2]-z*b[s1]
}
}
 
 
 
 
for(s=1;s<3;s++){
sol[s]=b[s]/a[s][s];
}
 
 
 
 
}
 
 
 
function paint(){
 
var sub=new svgpaint();
 
str="<svg width=\"500\" height=\"500\">";
 
maxc = 0;
for (s = 1; s < number + 1;s++ ){
    if (c[s] > maxc) maxc = c[s];
}
minc = maxc;
for (s = 1; s < number + 1;s++ ){
    if (c[s] < minc) minc = c[s];
}
 
    str = str + sub.rect(0, 0, 500, 500, "blue");
for(s=1;s<number;s++){
    c1 = 500 * (c[s]-minc) / (maxc-minc);
    c2 = 500 * (c[s+1]-minc) / (maxc-minc);
str=str+sub.line(5*s,500-c1,5*s+5,500-c2,2,"red");    
} 
 
for(s=1;s<number;s++){
    cp = sol[1] + sol[2] * y[s];
    c1 = 500 * (cp-minc) / (maxc-minc);
 
    cp = sol[1] + sol[2] * y[s+1];
    c2 = 500 * (cp-minc) / (maxc-minc);
str=str+sub.line(5*s,500-c1,5*s+5,500-c2,2,"green");    
} 
 
 
str=str+"</svg>";
 
$("#memo").html(str);   
 
}
最終更新:2016年03月03日 04:20