var delta=new Array();
var sol=new Array();
var sig=new Array();
function f() {
id="1eCFmuBFHFP_6hM2q4uLZqcGiWECWN4g-ZJUY5oUv3Qg";
var ex1 = SpreadsheetApp.openById(id);
var sheet = ex1.getSheetByName("data");
var a=new Array();
var y=new Array();
for(s=1;s<4;s++){
a[s]=new Array();
}
for(s=1;s<4;s++){
for(sx=1;sx<4;sx++){
a[s][sx]=sheet.getRange(s+1, sx+1).getValue();
}}
for(sx=1;sx<4;sx++){
y[sx]=sheet.getRange(6, sx+1).getValue();
}
var shx = ex1.getSheetByName("io");
for(s=1;s<4;s++){
for(sx=1;sx<4;sx++){
a[s][sx]=a[s][sx]/y[sx];
}}
for(s=1;s<4;s++){
delta[s]=new Array();
}
for(s=1;s<4;s++){
for(sx=1;sx<4;sx++){
delta[s][sx]=-1*a[s][sx];
}}
for(s=1;s<4;s++){
delta[s][s]=1+delta[s][s];
}
for(s=1;s<4;s++){
sig[s]=new Array();
}
for(n=1;n<4;n++){
cal(n);
for(s=1;s<4;s++){
sig[s][n]=sol[s];
}
}
for(s=1;s<4;s++){
for(sx=1;sx<4;sx++){
shx.getRange(s+1, sx*1).setValue(sig[s][sx]);
}}
}
function cal(n){
var beta=new Array();
var alpha=new Array();
for(s=1;s<4;s++){
alpha[s]=new Array();
}
for(s=1;s<4;s++){
beta[s]=0;
}
beta[n]=1;
for(s=1;s<4;s++){
for(sx=1;sx<4;sx++){
alpha[s][sx]=delta[s][sx];
}}
for(s=1;s<4;s++){
for(sx=1;sx<4;sx++){
z=alpha[sx][s]/alpha[s][s];
if(s==sx)z=0;
for(tx=1;tx<4;tx++){
alpha[sx][tx]=alpha[sx][tx]-z*alpha[s][tx];
}
beta[sx]=beta[sx]-z*beta[s];
}
}
for(s=1;s<4;s++){
sol[s]=beta[s]/alpha[s][s];
}
}
最終更新:2016年06月03日 19:40