var a,beta,h;
k = new Array(101);
cx = new Array(101);
lx = new Array(101);
c = new Array(101);
function path(){
var t,k1,c1,l1;
var n1;
k1=k[40];
for(t=1;t<101;t++){
n1=k1/h;
c1=con(n1);
l1=lab(n1);
k1=k1+Math.pow(k1,a)*Math.pow(l1,1-a)-c1;
c[t]=l1;
}
}
function faststep(){
var ks,ls;
ls=(1-a)/(2-a);
ks=ls*Math.pow((1/ beta - 1)/a ,1/(a - 1));
h=2*ks/100;
for(s=1;s<101;s++){
k[s]=s*h;
}
for(s=1;s<101;s++){
lx[s]=ls;
cx[s]=Math.pow(k[s],a)*Math.pow(ls,1-a);
}
}
function con(n1){
var c1;
var n2,n3;
n2=Math.floor(n1);
n3=n2+1;
c1=cx[n2]+(n1-n2)*(cx[n3]-cx[n2]);
return c1;
}
function lab(n1){
var c1;
var n2,n3;
n2=Math.floor(n1);
n3=n2+1;
c1=lx[n2]+(n1-n2)*(lx[n3]-lx[n2]);
return c1;
}
function dsge(){
a=0.33;
beta=0.95;
faststep();
fast();
path();
$("#memo").html("準備完了");
line();
}
function fast(){
lxs = new Array(101);
cxs = new Array(101);
var mode;
var s,m,mx;
var n1,n2,n3;
var uc,c1,l1,k1,r1,w1;
var ep;
mode=0;
while(mode<100){
for(s=10;s<91;s++){
l1=lab(s);
c1=con(s)
k1=k[s]+Math.pow(k[s],a)*Math.pow(l1,1-a)-c1;
n1=k1/h;
c1=con(n1);
l1=lab(n1);
r1=a*Math.pow(k1,a-1)*Math.pow(l1,1-a);
uc=(beta*(1+r1))/c1;
cxs[s]=1/uc;
l1=lx[s];
w1=(1-a)*Math.pow(k[s],a)*Math.pow(l1,-a);
lxs[s]=1-cx[s]/w1;
}
ep=0;
for(s=10;s<91;s++){
ep=ep+(cx[s]-cxs[s])*(cx[s]-cxs[s])+(lx[s]-lxs[s])*(lx[s]-lxs[s]);
}
for(s=10;s<91;s++){
cx[s]=cxs[s];
lx[s]=lxs[s];
}
if(ep<0.0001)mode=1000;
mode=mode+1;
}
}
google.load("visualization", "1", {packages:["corechart"]});
function line() {
var data = new google.visualization.DataTable();
data.addColumn('string', '期間');
data.addColumn('number', '労働供給');
data.addRows(100);
var str;
for(s=1;s<101;s++){
str=""+s+"期";
data.setCell(s-1, 0, str);
data.setCell(s-1, 1, c[s]);
}
var options = {
title: '労働供給の移行経路'
};
var chart = new google.visualization.LineChart(document.getElementById('memo'));
chart.draw(data, options);
}
最終更新:2013年12月27日 15:05