アットウィキロゴ

ppo@p

var c = new Array();
var y = new Array();
var sol = new Array();
var x1 = new Array();
var x2 = new Array();
var x = new Array();
 
function sample() {
 
        var query = "SELECT * FROM " +
            '1E-HAkX10SAL0yNyEaNQT9yOLQjABjHD06zFa-7eH';
        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) {
                    h = 0;
                    if (rows[i][4] == "NaN") h = 100;
                    if (h < 50) sx = sx + 1;
                    if (h < 50) y[sx] = rows[i][4] / 1;
                    if (h < 50) x1[sx] = rows[i][2] / 1;
                    if (h < 50) x2[sx] = rows[i][3] / 1;
 
                }
 
                number = sx;
 
 
 
                for (s = 1; s < number + 1; s++) {
                    x[s] = new Array();
                }
 
                for (s = 1; s < number + 1; s++) {
                    x[s][1] = 1;
                    x[s][2] = x1[s];
                    x[s][3] = x2[s];
                }
 
 
 
 
                var sub = new ols();
                sub.x = x;
                sub.y = y;
                sub.numberx = 3;
                sub.datanumber = number;
                sub.mat();
                sol = sub.sol;
 
 
 
                paint();
 
 
 
 
 
 
 
 
 
 
            }
        });
 
}
 
 
 
function paint(){
 
var sub=new svgpaint();
 
str="<svg width=\"500\" height=\"500\">";
 
maxc = 0;
for (s = 1; s < number + 1;s++ ){
if (y[s] > maxc) maxc = y[s];
}
 
minc = maxc;
for (s = 1; s < number + 1;s++ ){
    if (y[s] < minc) minc = y[s];
}
 
 
 
for(s=1;s<number+1;s++){
c1 = 500 * (y[s]-minc) / (maxc-minc);    
str=str+sub.rect(2*s,500-c1,4,4,"red");    
} 
 
for(s=1;s<number+1;s++){
    c1 = sol[1] + sol[2] * x1[s] + sol[2] * x2[s];
c2 = 500 * (c1-minc) / (maxc-minc);    
str=str+sub.rect(2*s,500-c1,4,4,"blue");    
} 
 
 
str=str+"</svg>";
 
$("#memo").html(str);   
 
}
 
 
 
class ols{
 
x:any=new Array();
y:number[]=new Array();
datanumber:number;
numberx:number;
sol:number[]=new Array();
a:any[]=new Array();
b:number[]=new Array();
 
mat():void{
 
var s:number;
 
for(s=1;s<this.numberx+1;s++){
this.a[s]=new Array();
}
 
var s1:number;
var s2:number;
var d1:number;
 
for(s1=1;s1<this.numberx+1;s1++){
for(s2=1;s2<this.numberx+1;s2++){
d1=0;
for(s=1;s<this.datanumber+1;s++){
d1=d1+this.x[s][s1]*this.x[s][s2];
}
this.a[s1][s2]=d1;
}}
 
for(s1=1;s1<this.numberx+1;s1++){
d1=0;
for(s=1;s<this.datanumber+1;s++){
d1=d1+this.x[s][s1]*this.y[s];
}
this.b[s1]=d1;
}
 
var z:number;
 
for(s1=1;s1<this.numberx+1;s1++){
for(s2=1;s2<this.numberx+1;s2++){
z=this.a[s2][s1]/this.a[s1][s1];
if(s1==s2)z=0;
for(s=1;s<this.numberx+1;s++){
this.a[s2][s]=this.a[s2][s]-z*this.a[s1][s];
}
this.b[s2]=this.b[s2]-z*this.b[s1]
}
}
 
 
 
 
for(s=1;s<this.numberx+1;s++){
this.sol[s]=this.b[s]/this.a[s][s];
}
 
 
 
 
}
 
}
最終更新:2016年03月03日 14:01