アットウィキロゴ

hyaky

var a=new Array();
var delta=new Array();
var ex1;
var sol=new Array();
var sig=new Array();
var bus=new Array();
 
 
function sample(){
 
  var id="1zk_WTDVJzpDNYU6kVUYzUo7QrkDqiV_S7fa_VNVecEo";
 
  getdata();
 
  rev();
 
  paint();
 
}
 
 
function paint(){
 
  var x1=new Array();
   var x2=new Array();
 
 
  for(s=1;s<26;s++){
    z1=0;
    for(sx=1;sx<26;sx++){
  z1=z1+sig[sx][s];
    }
    x1[s]=z1;
  }
 
 
 
 
 
  for(s=1;s<26;s++){
    z1=0;
    for(sx=1;sx<26;sx++){
  z1=z1+sig[s][sx];
    }
    x2[s]=z1;
  }
 
 
  var shx = ex1.getSheetByName("p");
 
for(s=1;s<26;s++){
shx.getRange(s, 2).setValue(x1[s]);
}  
 
  for(s=1;s<26;s++){
shx.getRange(s, 3).setValue(x2[s]);
}  
 
 
for(s=1;s<26;s++){
shx.getRange(s, 1).setValue(bus[s]);
}  
 
 
 
 
}
 
 
 
function rev(){
 
 
var shx = ex1.getSheetByName("io");
 
 
for(s=1;s<26;s++){
  delta[s]=new Array();
  }
 
 
for(s=1;s<26;s++){  
for(sx=1;sx<26;sx++){
delta[s][sx]=-1*a[s][sx];
}}
 
 
 
for(s=1;s<26;s++){  
delta[s][s]=1+delta[s][s];
}  
 
 
 
 for(s=1;s<26;s++){
 sig[s]=new Array();
 }
 
 
 
  for(n=1;n<26;n++){  
cal(n);
    for(s=1;s<26;s++){
    sig[s][n]=sol[s];
    }
  }
 
 
 
 
for(s=1;s<26;s++){  
for(sx=1;sx<26;sx++){
shx.getRange(s, sx).setValue(sig[s][sx]);
}}  
 
 
 
}
 
 
 
 
function cal(n){
 
var beta=new Array(); 
var alpha=new Array();   
 
 
  for(s=1;s<26;s++){
  alpha[s]=new Array();
  }
 
  for(s=1;s<26;s++){
  beta[s]=0;
  }
  beta[n]=1;
 
 
for(s=1;s<26;s++){  
for(sx=1;sx<26;sx++){
alpha[s][sx]=delta[s][sx];
}}
 
 
 
for(s=1;s<26;s++){
for(sx=1;sx<26;sx++){
z=alpha[sx][s]/alpha[s][s];
if(s==sx)z=0;
for(tx=1;tx<26;tx++){
alpha[sx][tx]=alpha[sx][tx]-z*alpha[s][tx];
}
beta[sx]=beta[sx]-z*beta[s];
}
}
 
 
for(s=1;s<26;s++){
sol[s]=beta[s]/alpha[s][s];
}
 
 
 
 
 
}
 
 
function getdata() {
 
 
 var id="1zk_WTDVJzpDNYU6kVUYzUo7QrkDqiV_S7fa_VNVecEo"; 
 ex1 = SpreadsheetApp.openById(id);
 var sheet = ex1.getSheetByName("data");
 
 
  var y=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]=sheet.getRange(s+5, sx+2).getValue();
  }}
 
 
 for(sx=1;sx<26;sx++){
y[sx]=sheet.getRange(37, sx+2).getValue();
  }
 
for(s=1;s<26;s++){
bus[s]=sheet.getRange(s+5, 2).getValue();
  }
 
 
 
 
 for(s=1;s<26;s++){
   for(sx=1;sx<26;sx++){
   a[s][sx]=a[s][sx]/y[sx];
  }
}
 
 
 
 
 
}
 
最終更新:2016年06月04日 00:43