var sol_ols=new Array();
var x_ols = new Array();
var y_ols = new Array();
var number_ols,datanumber_ols;
function myFunction() {
var id="1J12EB3wyC0qW7-oO0ybv5X56mujSgktMHYPhxE3fMgQ";
var ex1 = SpreadsheetApp.openById(id);
var sheet = ex1.getSheetByName("data");
var v=sheet.getRange(1, 1,11,3).getValues();
datanumber_ols=10;
number_ols=3;
for(s=1;s<datanumber_ols+1;s++){
x_ols[s]=new Array();
}
for(s=1;s<datanumber_ols+1;s++){
y_ols[s]=v[s][0];
x_ols[s][1]=1;
x_ols[s][2]=v[s][1];
x_ols[s][3]=v[s][2];
}
ols();
Logger.log(sol_ols[1]);
Logger.log(sol_ols[2]);
Logger.log(sol_ols[3]);
}
function ols(){
var a_ols=new Array();
var b_ols=new Array();
for(s=1;s<number_ols+1;s++){
a_ols[s]=new Array();
}
for(s=1;s<number_ols+1;s++){
y1 = 0;
for (sx = 1; sx <datanumber_ols;sx++ ){
y1=y1+x_ols[sx][s]*y_ols[sx];
}
b_ols[s]=y1;
}
for(s1=1;s1<number_ols+1;s1++){
for(s2=1;s2<number_ols+1;s2++){
y1 = 0;
for (sx = 1; sx <datanumber_ols;sx++ ){
y1=y1+x_ols[sx][s1]*x_ols[sx][s2];
}
a_ols[s1][s2]=y1;
}}
for(s=1;s<number_ols+1;s++){
for(sx=1;sx<number_ols+1;sx++){
z=a_ols[sx][s]/a_ols[s][s];
if(s==sx)z=0;
for(tx=1;tx<number_ols+1;tx++){
a_ols[sx][tx]=a_ols[sx][tx]-z*a_ols[s][tx];
}
b_ols[sx]=b_ols[sx]-z*b_ols[s];
}
}
for(s=1;s<number_ols+1;s++){
sol_ols[s]=b_ols[s]/a_ols[s][s];
}
}
最終更新:2017年03月19日 20:25