アットウィキロゴ

money js

var s,m,mx;
var n1,n2,n3;
var uc,c1,l1,k1,r1,w1;
 
mode=0;
 
while(mode<10){
 
s=50;
 
for(m=1;m<101;m++){
l1=lab(m,s);
c1=con(m,s)
k1=k[s]+th[m]*Math.pow(k[s],a)*Math.pow(l1,1-a)-c1;
n1=k1/h;
uc=0;
for(mx=1;mx<101;mx++){
c1=con(mx,n1);
l1=lab(mx,n1);
r1=th[mx]*a*Math.pow(k1,a-1)*Math.pow(l1,1-a);
uc=uc+(beta*(1+r1))/c1;
}
uc=uc/100;
cms[m]=1/uc-cx[s];
l1=lx[s]+lm[m];
w1=th[m]*(1-a)*Math.pow(k[s],a)*Math.pow(l1,-a);
c1=cx[s]+cm[m];
lms[m]=1-c1/w1-lx[s];
}
 
ep=0;
for(m=1;m<101;m++){
ep=ep+(cm[m]-cms[m])*(cm[m]-cms[m])+(lm[m]-lms[m])*(lm[m]-lms[m]);
}
 
 
for(m=1;m<101;m++){
cm[m]=cms[m];
lm[m]=lms[m];
}
 
if(ep<0.0001)mode=1000;
 
mode=mode+1;
 
}
 
}
 
function dsge(){
 
var card;
 
startpoint();
 
card=0;
 
while(card<100){
 
fast();
 
sec();
 
check();
 
if(ep<0.0001)card=100;
 
card=card+1;
 
}
 
}
 
 
function root(){
 
var maxc,minc;
var t,m1;
cp = new Array(101);
 
k1=k[50];
 
for(t=1;t<101;t++){
n1=k1/h;
n2=Math.floor(n1);
n3=n2+1;
m1=100*Math.random();
m=Math.floor(m1)+1;
c1=con(m,n1);
l1=lab(m,n1);
k1=k1+th[m]*Math.pow(k1,a)*Math.pow(l1,1-a)-c1;
cp[t]=price(m,n1);
}
 
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);
}
 
 
}
 
function sample() {
 
dsge();
 
money();
 
}
 
function paint(){
 
root();
 
var str;
str="<svg>";
 
var x1,y1,x2,y2;
str="<svg>";
 
for(s=1;s<100;s++){
x1=100+5*s;
x2=105+5*s;
y1=600-cps[s];
y2=600-cps[s+1];
str=str+line(x1,y1,x2,y2,"red");
}
str=str+line(100,100,100,600,"black");
str=str+line(100,600,600,600,"black");
str=str+"</svg>";
 
$("#svg").html(str);
 
}
 
function line(x1,y1,x2,y2,col){
var strx;
strx="<line x1="+change(x1)+" y1="+change(y1)+" x2="+change(x2)+" y2=";
strx=strx+change(y2)+" stroke="+change(col)+"/>";
return strx;
}
 
 
function change(str){
var strx;
 
strx="\""+str+"\"";
 
return strx;
}
 
 
 
 
 
var ms;
px = new Array(101);
pm = new Array(101);
 
chpx = new Array(101);
chpm = new Array(101);
 
 
function mstartpoint(){
 
var s;
 
ms=20;
 
for(m=1;m<101;m++){
pm[m]=0;
}
 
 
for(s=1;s<101;s++){
px[s]=1;
}
 
 
for(m=1;m<101;m++){
chpm[m]=0;
}
 
for(s=10;s<91;s++){
chpx[s]=0;
}
 
}
 
 
 
function price(m1,n1){
var c1;
var n2,n3;
n2=Math.floor(n1);
n3=n2+1;
c1=px[n2]+(n1-n2)*(px[n3]-px[n2])+pm[m1];
return c1;
}
 
function mcheck(){
 
var s,m;
 
ep=0;
 
for(m=1;m<101;m++){
ep=ep+(pm[m]-chpm[m])*(pm[m]-chpm[m]);
}
 
for(s=10;s<91;s++){
ep=ep+(px[s]-chpx[s])*(px[s]-chpx[s]);
}
 
 
for(m=1;m<101;m++){
chpm[m]=pm[m];
}
 
for(s=10;s<91;s++){
chpx[s]=px[s];
}
 
}
 
function msec(){
 
pms = new Array(101);
var mode;
var s,m,mx;
var n1,n2,n3;
var uc,c1,l1,k1,r1,w1;
var p1,p2,p3,z1,z2;
var t1; 
 
mode=0;
 
while(mode<10){
 
s=50;
 
for (m=1;m<101;m++){ 
p1=1.05*price(m,s); 
p2=0.95*price(m,s); 
k1=k[s]+th[m]*Math.pow(k[s],a)*Math.pow(lab(m,s),1-a)-con(m,s); 
dp=g(p1,k1); 
z1=dp-p1; 
t1=0; 
while (t1<100){ 
dp=g(p2,k1); 
z2=dp-p2; 
p3=p2-z2*(p2-p1)/(z2-z1); 
z1=z2; 
p1=p2; 
p2=p3; 
if (z2*z2<0.001)t1=1000;  
t1=t1+1; 
} 
pms[m]=p2-px[s]; 
} 
 
ep=0;
for(m=1;m<101;m++){
ep=ep+(pm[m]-pms[m])*(pm[m]-pms[m]);
}
 
 
for(m=1;m<101;m++){
pm[m]=pms[m];
}
 
if(ep<0.0001)mode=1000;
 
mode=mode+1;
 
}
 
}
 
function mfast(){
 
pxs = new Array(101);
var mode;
var s,m,mx;
var n1,n2,n3;
var uc,c1,l1,k1,r1,w1;
var p1,p2,p3,z1,z2;
var t1; 
 
mode=0;
 
while(mode<10){
 
m=50;
 
for (s=10;s<91;s++){ 
p1=1.05*price(m,s); 
p2=0.95*price(m,s); 
k1=k[s]+th[m]*Math.pow(k[s],a)*Math.pow(lab(m,s),1-a)-con(m,s); 
dp=g(p1,k1); 
z1=dp-p1; 
t1=0; 
while (t1<100){ 
dp=g(p2,k1); 
z2=dp-p2; 
p3=p2-z2*(p2-p1)/(z2-z1); 
z1=z2; 
p1=p2; 
p2=p3; 
if (z2*z2<0.001)t1=1000;  
t1=t1+1; 
} 
pxs[s]=p2-pm[m]; 
} 
 
ep=0;
for(s=10;s<91;s++){
ep=ep+(px[s]-pxs[s])*(px[s]-pxs[s]);
}
 
for(s=10;s<91;s++){
px[s]=pxs[s];
}
 
if(ep<0.0001)mode=1000;
 
mode=mode+1;
 
}
 
}
 
 
 
function g(pp,k1){ 
var dp,l1,r1,c1,pc,pi,i1; 
var mx;
var n1;
dp=0;
n1=k1/h;
for (mx=1;mx<101;mx++){ 
l1=lab(mx,n1); 
r1=th[mx]*a*Math.pow(k1,a-1)*Math.pow(l1,1-a); 
c1=con(mx,n1); 
pc=price(mx,n1); 
pi=pc/pp-1; 
i1=(1+r1)*(1+pi)-1; 
dp=dp+i1*ms*beta/(c1*(1+pi)); 
} 
dp=0.01*dp; 
return dp; 
} 
 
function money(){
 
var card;
 
mstartpoint();
 
card=0;
 
while(card<100){
 
mfast();
 
msec();
 
mcheck();
 
if(ep<0.0001)card=100;
 
card=card+1;
 
}
 
}
 
最終更新:2013年10月07日 11:50