var g=new Array();
var gdp=new Array();
var gap=new Array();
var y=new Array();
var x=new Array();
var sol=new Array();
function myFunction() {
var id="1hyXNVlqf348r0HXLbgPzYwp1lWK_uMM5POwsddFPeOs";
ex1 = SpreadsheetApp.openById(id);
sheet = ex1.getSheetByName("data");
number=64;
for(s=1;s<number+1;s++){
g[s]=sheet.getRange(s+1, 1).getValue();
gdp[s]=sheet.getRange(s+1, 2).getValue();
gap[s]=sheet.getRange(s+1, 3).getValue();
}
for(s=2;s<number+1;s++){
y[s-1]=Math.log(g[s]/gdp[s]);
}
datanumber=number-1;
for(s=1;s<datanumber+1;s++){
x[s]=new Array();
}
for(s=1;s<datanumber+1;s++){
y[s]=Math.log(g[s+1]/gdp[s+1]);
x[s][1]=1;
x[s][2]=Math.log(g[s]/gdp[s]);
x[s][3]=gap[s+1];
}
number=3;
ols();
Logger.log(sol[1]);
Logger.log(sol[2]);
Logger.log(sol[3]);
}
function ols(){
var a=new Array();
var b=new Array();
for(s1=1;s1<number+1;s1++){
a[s1]=new Array();
}
for(s1=1;s1<number+1;s1++){
for(s2=1;s2<number+1;s2++){
d1=0;
for(s=1;s<datanumber+1;s++){
d1=d1+x[s][s1]*x[s][s2];
}
a[s1][s2]=d1;
}}
for(s1=1;s1<number+1;s1++){
d1=0;
for(s=1;s<datanumber+1;s++){
d1=d1+x[s][s1]*y[s];
}
b[s1]=d1;
}
for(s1=1;s1<number+1;s1++){
for(s2=1;s2<number+1;s2++){
z=a[s2][s1]/a[s1][s1];
if(s1==s2)z=0;
for(s=1;s<number+1;s++){
a[s2][s]=a[s2][s]-z*a[s1][s];
}
b[s2]=b[s2]-z*b[s1]
}
}
for(s=1;s<number+1;s++){
sol[s]=b[s]/a[s][s];
}
}
最終更新:2016年10月24日 21:59