アットウィキロゴ

doicv---

<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="utf-8" />
        <script src="sample.js"></script>
        <script src="jquery.js"></script>
<script src="svgpaint.js"></script>
        <title>DSGE</title>
    </head>
    <body onload="sample()">
   <p id="memo"></p>
   </body>
</html>
 
 
 
var cps = new Array();
var cp = new Array();
var cx = new Array();
var lx = new Array();
var cxs = new Array();
var lxs = new Array();
var k = new Array();
var h;
 var a,beta;
 
function sample(){
 
 
 
 
 faststep();
 
 
 
 
mode=0;
 
while(mode<50){
 
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;
w1=(1-a)*Math.pow(k[s],a)*Math.pow(lx[s],-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.01)mode=1000;
 
mode=mode+1;
 
}
 
 
 
k1=k[40];
 
 
for(t=1;t<101;t++){
n1=k1/h;
c3=con(n1);
l3=lab(n1);
k1=k1+Math.pow(k1,a)*Math.pow(l3,1-a)-c3;
cp[t]=c3;
 
}
 
 
maxc=0;
for(s=1;s<101;s++){
if(cp[s]>maxc)maxc=cp[s];
}
 
 
 
minc=9999;
for(s=1;s<101;s++){
if(cp[s]<minc)minc=cp[s];
}
 
for(s=1;s<101;s++){
cps[s]=500*(cp[s]-minc)/(maxc-minc);
}
 
 
 
 
paint();
 
 
}
 
function paint(){
 
var sub6=new svgpaint();
 
str="<svg width=\"700\" height=\"700\">"; 
 
for(s=1;s<100;s++){
str=str+sub6.line(5*s,500-cps[s],5*s+5,500-cps[s+1],2,"blue"); 
}
str=str+sub6.line(0,0,0,500,2,"black");
str=str+sub6.line(0,500,500,500,2,"black");
str=str+"</svg>";
 
$("#memo").html(str);   
 
 
}
 
 
 
 
 
function faststep(){
 
  a = 0.33;
    beta=0.95;
 
var ks;
var 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 n2,n3; 
var c2; 
n2=Math.floor(n1);
n3=n2+1;
c2=cx[n2]+(n1-n2)*(cx[n3]-cx[n2]);
return c2;
}
 
function lab(n1){
 var n2,n3; 
var c2; 
n2=Math.floor(n1);
n3=n2+1;
c2=lx[n2]+(n1-n2)*(lx[n3]-lx[n2]);
 
return c2;
}
 
最終更新:2015年12月02日 11:42