アットウィキロゴ

p9995

var a=new Array();
var bus=new Array();
var alpha=new Array();
var beta=new Array();
var sol=new Array();
var number; 
 
function sample() {
 
 number=54;
 
 var id="1kIGE3rFcGaX8DWoulzJ18iKRp92_feKN0IGzkNWa1Vs"; 
 ex1 = SpreadsheetApp.openById(id);
 var sheet = ex1.getSheetByName("大分類");
 
 
  var y=new Array();
 
  for(s=1;s<number+1;s++){
  a[s]=new Array();
  }
 
 
  for(s=1;s<number+1;s++){  
 for(sx=1;sx<number+1;sx++){
a[s][sx]=sheet.getRange(s+2, sx+2).getValue();
  }}
 
 
 for(sx=1;sx<number+1;sx++){
y[sx]=sheet.getRange(65, sx+2).getValue();
  }
 
for(s=1;s<number+1;s++){
bus[s]=sheet.getRange(s+2, 2).getValue();
  }
 
 
 
 
 for(s=1;s<number+1;s++){
   for(sx=1;sx<number+1;sx++){
   a[s][sx]=a[s][sx]/y[sx];
  }
}
 
for(s=1;s<number+1;s++){
  alpha[s]=new Array();
  }
 
 
for(s=1;s<number+1;s++){  
for(sx=1;sx<number+1;sx++){
alpha[s][sx]=-1*a[s][sx];
}}
 
for(s=1;s<number+1;s++){  
alpha[s][s]=1+alpha[s][s];
}   
 
 
for(s=1;s<number+1;s++){
 beta[s]=new Array();
 }
 
 
 
  for(n=1;n<number+1;n++){  
rev(n);
    for(s=1;s<number+1;s++){
    beta[s][n]=sol[s];
    }
  }
 
 
 
  var shx = ex1.getSheetByName("ABC");
 
 for(s=1;s<number+1;s++){  
for(sx=1;sx<number+1;sx++){
shx.getRange(s, sx).setValue(beta[s][sx]);
}}  
 
 
 
 
 
}
 
 
function rev(n){
 
var bx=new Array(); 
var ax=new Array();   
 
 
  for(s=1;s<number+1;s++){
  ax[s]=new Array();
  }
 
  for(s=1;s<number+1;s++){
  bx[s]=0;
  }
  bx[n]=1;
 
 
for(s=1;s<number+1;s++){  
for(sx=1;sx<number+1;sx++){
ax[s][sx]=alpha[s][sx];
}}
 
 
 
for(s=1;s<number+1;s++){
for(sx=1;sx<number+1;sx++){
z=ax[sx][s]/ax[s][s];
if(s==sx)z=0;
for(tx=1;tx<number+1;tx++){
ax[sx][tx]=ax[sx][tx]-z*ax[s][tx];
}
bx[sx]=bx[sx]-z*bx[s];
}
}
 
 
for(s=1;s<number+1;s++){
sol[s]=bx[s]/ax[s][s];
}
 
 
 
 
 
}
 
最終更新:2016年06月08日 12:13