google.load("visualization", "1", {packages:["corechart"]});
var x = new Array();
var namex = new Array();
var alpha = new Array();
var w = new Array();
var y = new Array();
var ex = new Array();
var im = new Array();
var inv = new Array();
var c = new Array();
var good = new Array();
var g = new Array();
var a= new Array();
var delta=new Array();
var b= new Array();
var sol= new Array();
function sample() {
var query = "SELECT * FROM " +
'14MPwXgD2khm2QsqR4Quhd4Y8IK5DAZrW1F_B9-0F';
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=?');
for(s=1;s<50;s++){
alpha[s]=new Array();
}
$.ajax({
url: url.join(''),
dataType: 'jsonp',
success: function (data) {
var rows = data['rows'];
sx = 0;
for (var i in rows) {
sx = sx + 1;
namex[sx]=rows[i][0];
for(s=1;s<38;s++){
alpha[sx][s]=rows[i][s];
}
}
number = sx;
for(s=1;s<26;s++){
a[s]=new Array();
delta[s]=new Array();
}
for(s=1;s<26;s++){
w[s]=alpha[29][s];
y[s]=alpha[32][s];
ex[s]=alpha[s][34];
im[s]=alpha[s][35];
inv[s]=alpha[s][33]/1+alpha[s][32]/1;
c[s]=alpha[s][28]/1+alpha[s][29]/1;
g[s]=alpha[s][30]/1+alpha[s][27]/1;
good[s]=alpha[s][31];
}
for(s=1;s<26;s++){
for(sx=1;sx<26;sx++){
delta[s][sx]=alpha[s][sx]/y[sx];
}}
for(s=1;s<26;s++){
for(sx=1;sx<26;sx++){
a[s][sx]=0;
}}
for(s=1;s<26;s++){
a[s][s]=1;
}
for(s=1;s<26;s++){
for(sx=1;sx<26;sx++){
a[s][sx]=a[s][sx]-delta[s][sx];
}}
for(s=1;s<26;s++){
b[s]=c[s]/1+inv[s]/1+ex[s]/1+im[s]/1+g[s]/1+good[s]/1;
}
mat();
for(s=0;s<26;s++){
x[s]=new Array();
}
x[0][0]="産業";
x[0][1]="理論値";
x[0][2]="現実";
for(s=1;s<26;s++){
x[s][0]=namex[s];
x[s][1]=sol[s]/100;
x[s][2]=y[s]/100;
}
var data =google.visualization.arrayToDataTable(x);
var op = {title: '産業連関表'};
var chart = new google.visualization.ColumnChart(document.getElementById('memo'));
chart.draw(data, op);
}
});
}
function mat(){
var s,sx;
number=25;
var s1;
var s2;
var z;
for(s1=1;s1<number+1;s1++){
for(s2=1;s2<number+1;s2++){
z=a[s2][s1]/a[s1][s1];
if(s1==s2)z=0;
for(s=1;s<number+1;s++){
a[s2][s]=a[s2][s]-z*a[s1][s];
}
b[s2]=b[s2]-z*b[s1]
}
}
for(s=1;s<number+1;s++){
sol[s]=b[s]/a[s][s];
}
}
最終更新:2016年01月08日 10:07