アットウィキロゴ

おおおお9

google.load("visualization", "1", {packages:["corechart"]});
var point = new Array();
var y = new Array();
var price = new Array();
var a=new Array(); 
var x = new Array();
var year = new Array();
var month = new Array();
var p = new Array();
var sol=new Array(); 
var k=new Array(); 
var sol_ar=new Array(); 
 
function sample() {
 
        var query = "SELECT * FROM " +
            '1nwLSmBe32SFPGq-1FVzTPsFetC7NixpA9QHTwHnu';
        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;
                    point[sx]=rows[i][1];
       price[sx]=rows[i][2];
 
 
                }
 
 
 
 
                number = sx;
 
 p[1]=0;
 for(s=2;s<number+1;s++){
 p[s]=price[s]-price[s-1];    
 }
 
 
 for(s=1;s<number+1;s++){
 y[s]=point[s]-100;    
 }
 
 
 mm=12;
 yy=2007;
 
   for(s=1;s<number+1;s++){
  mm=mm+1;
  if(mm>12)yy=yy+1;
  if(mm>12)mm=1;
  year[s]=yy;
  month[s]=mm;
 
    }
 
 ols();
 
 fast();
 
 ar();
 
 alert(sol_ar[1]);
 
 for(s=0;s<number+1;s++){
 x[s]=new Array();    
 }
 x[0][0]="date";
 x[0][1]="理論値";
 x[0][2]="潜在生産量";
for(s=1;s<number+1;s++){
x[s][0]=""+year[s]+"年"+month[s]+"月";    
x[s][1]=k[s]; 
if(s>1)x[s][1]=sol_ar[1]+sol_ar[2]*k[s-1];   
x[s][2]=k[s];
 }
 
 
 
var data =google.visualization.arrayToDataTable(x);
var op = {title: '比較'};
 
var chart = new google.visualization.LineChart(document.getElementById('memo'));
chart.draw(data, op);
 
 
 
 
 
 
 
            }
        });
 
}
 
function fast(){
 
    var ys=new Array();
 
 
    for(s=1;s<200;s++){
    ys[s]=90+0.1*s;    
    }
 
 
 
 
    for(s=1;s<number+1;s++){
    mine=5000;
    sxs=0;
    for(sx=1;sx<200;sx++){
    e=p[s]-sol[1]-sol[2]*(point[s]-ys[sx]);
    if(e*e<mine)sxs=sx;
    if(e*e<mine)mine=e*e;
    }
    k[s]=ys[sxs];
    }
 
 
 
    }
 
 
 
 
 
 
 
 
function ar(){
 
var a=new Array(); 
var b=new Array(); 
 
for(s=1;s<3;s++){
a[s]=new Array();    
}
 
 
 
 
 var y1=new Array();
 var y2=new Array();
 
 for(s=1;s<number+1;s++){
 y2[s]=k[s];    
 }
 
 y1[1]=k[1];
 for(s=2;s<number+1;s++){
 y1[s]=k[s-1];    
 }
 
b1=0;    
for(s=1;s<number+1;s++){
b1=b1+y2[s];    
}    
b[1]=b1; 
 
 
b1=0;    
for(s=1;s<number+1;s++){
b1=b1+y2[s]*y1[s];    
}    
b[2]=b1;
 
 
a1=0;    
for(s=1;s<number+1;s++){
a1=a1+1;    
}    
a[1][1]=a1;  
 
a1=0;    
for(s=1;s<number+1;s++){
a1=a1+y1[s];    
}    
a[1][2]=a1;  
a[2][1]=a1;
 
a1=0;    
for(s=1;s<number+1;s++){
a1=a1+y1[s]*y2[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_ar[s]=b[s]/a[s][s];
}
 
 
 
 
 
}
 
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+p[s];    
}    
b[1]=b1;
 
 
 
b1=0;    
for(s=1;s<number+1;s++){
b1=b1+p[s]*y[s];    
}    
b[2]=b1;
 
 
a1=0;    
for(s=1;s<number+1;s++){
a1=a1+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];
}
 
 
 
 
}
 
最終更新:2015年12月28日 10:44