アットウィキロゴ

seifiss

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