var namex = new Array();
var alpha = new Array();
var credit = new Array();
var y = new Array();
var io = new Array();
var sol=new Array();
var rev=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=?');
credit[1]="農林水産業";
credit[2]="鉱業";
credit[3]="食料品";
credit[4]="繊維";
credit[5]="パルプ・紙";
credit[6]="化学";
credit[7]="石油・石炭製品";
credit[8]="窯業・土石製品";
credit[9]="一次金属";
credit[10]="金属製品";
credit[11]="一般機械";
credit[12]="電気機械";
credit[13]="輸送用機械";
credit[14]="精密機械";
credit[15]="その他の製造工業製品";
credit[16]="建設";
credit[17]="電気・ガス・水道";
credit[18]="卸売・小売";
credit[19]="金融・保険";
credit[20]="不動産";
credit[21]="運輸";
credit[22]="情報通信";
credit[23]="サ-ビス";
credit[24]="政府サ-ビス";
credit[25]="対家計民間非営利サ-ビス";
credit[26]="内生部門計";
credit[27]="政府集合消費支出";
credit[28]="家計最終消費支出";
credit[29]="対家計民間非営利団体最終消費支出";
credit[30]="政府個別消費支出";
credit[31]="在庫品増加";
credit[32]="総固定資本形成・公的";
credit[33]="総固定資本形成・民間";
credit[34]="輸出";
credit[35]="輸入(控除)";
credit[36]="国内総生産(支出)";
credit[37]="産出額";
for(s=1;s<50;s++){
alpha[s]=new Array();
}
$.ajax({
url: url.join(''),
dataType: 'jsonp',
success: function (data) {
var rows = data['rows'];
for(s=1;s<51;s++){
alpha[s]=new Array();
}
s = 0;
for (var i in rows) {
s=s+1;
namex[s]=rows[i][0];
for(sx=1;sx<38;sx++){
alpha[s][sx]=rows[i][sx];
}
}
number=s;
for(s=1;s<26;s++){
y[s]=alpha[number][s]/1;
}
for(s=1;s<26;s++){
io[s]=new Array();
}
for(s=1;s<26;s++){
for(sx=1;sx<26;sx++){
io[s][sx]=alpha[s][sx]/y[sx];
}}
for(s=1;s<26;s++){
rev[s]=new Array();
}
for(n=1;n<26;n++){
mat(n);
for(s=1;s<26;s++){
rev[s][n]=sol[s];
}
}
paint();
}
});
}
function mat(n){
var a=new Array();
var b=new Array();
for(s=1;s<26;s++){
a[s]=new Array();
}
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;
b[s]=0;
}
b[n]=1;
for(s=1;s<26;s++){
for(sx=1;sx<26;sx++){
a[s][sx]=a[s][sx]-io[s][sx];
}
}
for(s1=1;s1<26;s1++){
for(s2=1;s2<26;s2++){
z=a[s2][s1]/a[s1][s1];
if(s1==s2)z=0;
for(s=1;s<26;s++){
a[s2][s]=a[s2][s]-z*a[s1][s];
}
b[s2]=b[s2]-z*b[s1]
}
}
for(s=1;s<26;s++){
sol[s]=b[s]/a[s][s];
}
}
function paint(){
var point_a=new Array();
var point_b=new Array();
for(s=1;s<26;s++){
p1=0;
for(sx=1;sx<26;sx++){
p1=p1+rev[sx][s];
}
point_a[s]=p1;
}
for(s=1;s<26;s++){
p1=0;
for(sx=1;sx<26;sx++){
p1=p1+rev[s][sx];
}
point_b[s]=p1;
}
maxa=0;
mina=100;
maxb=0;
minb=100;
for(s=1;s<26;s++){
if(point_a[s]<mina)mina=point_a[s];
if(point_b[s]<minb)minb=point_b[s];
if(point_a[s]>maxa)maxa=point_a[s];
if(point_b[s]>maxb)maxb=point_b[s];
}
var sub=new svgpaint();
str="<svg width=\"700\" height=\"500\">";
for(s=1;s<26;s++){
x1=500*(point_a[s]-mina)/(maxa-mina);
y1=500*(point_b[s]-minb)/(maxb-minb);
str=str+sub.text(x1,500-y1,20,credit[s]);
}
str=str+sub.line(0,0,0,500,4,"blue");
str=str+sub.line(500,500,0,500,4,"blue");
str=str+"</svg>";
$("#memo").html(str);
}
最終更新:2016年06月02日 12:10