Definição Geral de Parâmetros
>
theta:=0.5:
Componente autonomo. Valor do crescimento do estoque de capital para o caso em que m = 0.
>
alpha0:=0.02:
>
a1geral := 0.02:
Coeficiente que capta o efeito lucratividade.
>
alpha1:= a1geral:
>
a2geral := 0.02:
Coeficiente que capta o efeito acelerador.
>
alpha2:=a2geral:
Taxa de Lucro "desejada" pelos capitalistas
>
lucro_des:=0.09:
Valor da taxa de poupança que garante m positivo.
>
sc:=0.42:
Relação Produto-Capital Inicial.
>
pk_0:=0.5:
Participação dos lucros na renda Inicial
>
m_0:=0.3:
Fator de progresso técnico - Poupador de Capital
>
h_poupador := 0.01:
Fator de progresso técnico - Dispendioso de Capital
>
h_dispendioso := -0.01:
Número de períodos a serem analisados graficamente
>
tempo:=100:
Condições Iniciais e relações
>
u_desejado:=(alpha0+alpha1*m_0)/(pk_0*(sc*m_0-alpha2));
Trata-se da derivada que capta o efeito de uma variação da relação produto-capital sobre o nível de utilização da capacidade produtiva de equilíbrio de curto-prazo.
>
u_pk:=-(alpha0+alpha1*m_0)/(pk_0^2*(sc*m_0-alpha2));
Trata-se da derivada que capta o efeito de uma variação da participação dos lucros na renda sobre o nível de utilização da capacidade produtiva de equilíbrio de curto-prazo
>
u_m:=-(alpha0*sc+alpha1*alpha2)/(pk_0*(sc*m_0-alpha2)^2);
Elasticidade do nível de utilização da capacidade produtiva com respeito à participação dos lucros na renda.
>
epsilon:=sc*m_0/(sc*m_0-alpha2)-alpha1*m_0/(alpha0+alpha1*m_0);
A relação abaixo determina o "m de equilíbrio" que
deve ser superior a 0.
>
(alpha2*lucro_des)/(sc*lucro_des-alpha0);
O resultado abaixo
precisa ser maior que 0
, para assegurar que u_desejado>0
>
sc*m_0-alpha2;
Verificando Estabilidade
A := linalg[matrix](2,2,[(theta*alpha0*alpha2)/(sc*m_0-alpha2)^2, 0, 0, h]);
>
det(A);
>
trace(A);
>
epsilon;
Encontrando valores de equilíbrio
>
pke:='pke':me:='me':
>
solve({0=-theta*(me*pk_0*u_desejado-lucro_des)},{me});
>
equacoes:=diff(m(t),t)=-theta*((alpha0*m(t))/(sc*m(t)-alpha2)-lucro_des):
>
solucao_m := dsolve({equacoes,m(0)=m_0},m(t),type=numeric):
>
graf_m:=odeplot(solucao_m,[t,m(t)],0..tempo,linestyle=1,colour=red,legend="m", title="h = 0", labels=["",""]):
>
solucao_m:=dsolve({equacoes,m(0)=m_0}, numeric, output=listprocedure,
range=0..tempo):
>
dsolm:= subs(solucao_m,m(t)):
Cálculo do grau de utilização de capacidade de equilíbrio:
>
ut:=(alpha0+alpha1*dsolm(t))/(pk_0*(sc*dsolm(t)-alpha2)):
>
graf_u:=plot(ut,t=0..tempo,linestyle=1,colour=blue,legend="U*"):
>
linhaPK:= PLOT(CURVES([[0,pk_0],[tempo,pk_0]],LEGEND("pk")),COLOUR(RGB,0,1,0), LINESTYLE(1),THICKNESS(1)):
>
display(graf_m,graf_u,linhaPK);
Taxa de lucro no tempo:
>
rt:=ut*dsolm(t)*pk_0:
>
graf_r:=plot(rt,t=0..tempo,linestyle=1,colour=red,legend="R",title="Taxa de Lucro / Investimento", labels=["",""]):
>
it:=alpha0+alpha1*dsolm(t)+(alpha2*alpha0)/(sc*dsolm(t)-alpha2):
>
graf_i:=plot(it,t=0..tempo,linestyle=1,colour=blue,legend="I/K"):
>
display(graf_r,graf_i);
Taxa de Lucro Inicial
>
(alpha0*m_0)/(sc*m_0-alpha2);
Taxa de Lucro quando m tende ao infinito
>
limit((alpha0*m)/(sc*m-alpha2),m=infinity);
Taxa de Investimento Inicial
>
alpha0+alpha1*m_0+(alpha2*alpha0)/(sc*m_0-alpha2);
Taxa de Investimento quando m tende ao infinito
>
limit(alpha0+alpha1*m+(alpha2*alpha0)/(sc*m-alpha2),m=infinity);
Verificando Estabilidade
A := linalg[matrix](2,2,[(theta*alpha0*alpha2)/(sc*m_0-alpha2)^2, 0, 0, h]);
>
>
det(A);
>
trace(A);
>
equacoes:={diff(m(t),t)=-theta*((alpha0*m(t))/(sc*m(t)-alpha2)-lucro_des),diff(pk(t),t)=h*pk(t)}:
>
solucao_m_pk := dsolve(equacoes union {m(0)=m_0,pk(0)=pk_0},{m(t),pk(t)},type=numeric):
>
graf_m:=odeplot(solucao_m_pk,[[t,m(t)],[t,pk(t)]],0..tempo,linestyle=1,legend=["m","pk"], title="h < 0", labels=["",""]):
>
solucao_m_pk:=dsolve(equacoes union {m(0)=m_0,pk(0)=pk_0}, numeric, output=listprocedure,
range=0..tempo):
>
dsolm := subs(solucao_m_pk,m(t)):dsolpk := subs(solucao_m_pk,pk(t)):
Cálculo do grau de utilização de capacidade de equilíbrio:
>
ut:=(alpha0+alpha1*dsolm(t))/(dsolpk(t)*(sc*dsolm(t)-alpha2)):
>
graf_u:=plot(ut,t=0..tempo,linestyle=1,colour=blue,legend="U*"):
>
display(graf_m,graf_u);
Verificando Estabilidade
A := linalg[matrix](2,2,[(theta*alpha0*alpha2)/(sc*m_0-alpha2)^2, 0, 0, h]);
>
>
det(A);
>
trace(A);
>
equacoes:={diff(m(t),t)=-theta*((alpha0*m(t))/(sc*m(t)-alpha2)-lucro_des),diff(pk(t),t)=h*pk(t)}:
>
solucao_m_pk := dsolve(equacoes union {m(0)=m_0,pk(0)=pk_0},{m(t),pk(t)},type=numeric):
>
graf_m:=odeplot(solucao_m_pk,[[t,m(t)],[t,pk(t)]],0..tempo,linestyle=1,legend=["m","pk"], title="h > 0", labels=["",""]):
>
solucao_m_pk:=dsolve(equacoes union {m(0)=m_0,pk(0)=pk_0}, numeric, output=listprocedure,
range=0..tempo):
>
dsolm := subs(solucao_m_pk,m(t)):dsolpk := subs(solucao_m_pk,pk(t)):
Cálculo do grau de utilização de capacidade de equilíbrio:
>
ut:=(alpha0+alpha1*dsolm(t))/(dsolpk(t)*(sc*dsolm(t)-alpha2)):
>
graf_u:=plot(ut,t=0..tempo,linestyle=1,colour=blue,legend="U*"):
>
display(graf_m,graf_u);
Condições Iniciais e relações
>
u_desejado:=(alpha0+alpha1*m_0)/(pk_0*(sc*m_0-alpha2));
Taxa de lucro Inicial
>
(alpha0+alpha1*m_0)/sc;
Trata-se da derivada que capta o efeito de uma variação da relação produto-capital sobre o nível de utilização da capacidade produtiva de equilíbrio de curto-prazo.
>
u_pk:=-(alpha0+alpha1*m_0)/(pk_0^2*(sc*m_0-alpha2));
Trata-se da derivada que capta o efeito de uma variação da participação dos lucros na renda sobre o nível de utilização da capacidade produtiva de equilíbrio de curto-prazo
>
u_m:=-alpha0/(sc*pk_0*m_0^2);
Elasticidade do nível de utilização da capacidade produtiva com respeito à participação dos lucros na renda.
>
epsilon:=sc*m_0/(sc*m_0-alpha2)-alpha1*m_0/(alpha0+alpha1*m_0);
A relação abaixo determina o m de equilíbrio que
deve ser superior a 0.
>
equilibrio_m:=(lucro_des*sc-alpha0)/alpha1;
>
sc-alpha0/lucro_des;
>
(alpha1+alpha0)/lucro_des-sc;
Verificando Estabilidade
>
A := linalg[matrix](2,2,[-theta*alpha1/sc, 0, 0, h]);
>
det(A);
>
trace(A);
>
equacoes:=diff(m(t),t)=-theta*((alpha0+alpha1*m(t))/sc-lucro_des):
>
solucao_m := dsolve({equacoes,m(0)=m_0},m(t),type=numeric):
>
graf_m:=odeplot(solucao_m,[t,m(t)],0..tempo,linestyle=1,colour=red,legend="m", title="h = 0", labels=["",""]):
>
solucao_m:=dsolve({equacoes,m(0)=m_0}, numeric, output=listprocedure,
range=0..tempo):
>
dsolm:= subs(solucao_m,m(t)):
Cálculo do grau de utilização de capacidade de equilíbrio:
>
ut:=(alpha0+alpha1*dsolm(t))/(sc*dsolm(t)*pk_0):
>
graf_u:=plot(ut,t=0..tempo,linestyle=1,colour=blue,legend="U*"):
>
linhaPK:= PLOT(CURVES([[0,pk_0],[tempo,pk_0]],LEGEND("pk")),COLOUR(RGB,0,1,0), LINESTYLE(1),THICKNESS(1)):
>
display(graf_m,graf_u,linhaPK);
Valor inicial de U*
>
(alpha0+alpha1*m_0)/(sc*m_0*pk_0);
Valor de estabilidade de U*
>
(alpha0+alpha1*equilibrio_m)/(sc*equilibrio_m*pk_0);
Taxa de lucro no tempo:
>
rt:=ut*dsolm(t)*pk_0:
>
graf_r:=plot(rt,t=0..tempo,linestyle=1,colour=red,legend="R",title="Taxa de Lucro / Investimento", labels=["",""]):
>
it:=alpha0+alpha1*dsolm(t)+(alpha2*alpha0)/(sc*dsolm(t))+(alpha2*alpha1)/sc:
>
graf_i:=plot(it,t=0..tempo,linestyle=1,colour=blue,legend="I/K"):
>
display(graf_r,graf_i);
Valor inicial de R
>
(alpha0+alpha1*m_0)/sc;
Valor de equilíbrio de R
>
(alpha0+alpha1*equilibrio_m)/sc;
Valor inicial de I/K
>
alpha0+alpha1*m_0+(alpha2*alpha0)/(sc*m_0)+(alpha2*alpha1)/sc;
Valor de equilibrio de I/K
>
alpha0+alpha1*equilibrio_m+(alpha2*alpha0)/(sc*equilibrio_m)+(alpha2*alpha1)/sc;
Verificando Estabilidade
>
A := linalg[matrix](2,2,[-theta*alpha1/sc, 0, 0, h]):
>
det(A);
>
trace(A);
>
equacoes:={diff(m(t),t)=-theta*((alpha0+alpha1*m(t))/sc-lucro_des),diff(pk(t),t)=h*pk(t)}:
>
solucao_m_pk := dsolve(equacoes union {m(0)=m_0,pk(0)=pk_0},{m(t),pk(t)},type=numeric):
>
graf_m:=odeplot(solucao_m_pk,[[t,m(t)],[t,pk(t)]],0..tempo,linestyle=1,legend=["m","pk"], title="h < 0", labels=["",""]):
>
solucao_m_pk:=dsolve(equacoes union {m(0)=m_0,pk(0)=pk_0}, numeric, output=listprocedure,
range=0..tempo):
>
dsolm := subs(solucao_m_pk,m(t)):dsolpk := subs(solucao_m_pk,pk(t)):
Cálculo do grau de utilização de capacidade de equilíbrio:
>
ut:=(alpha0+alpha1*dsolm(t))/(sc*dsolm(t)*dsolpk(t)):
>
graf_u:=plot(ut,t=0..tempo,linestyle=1,colour=blue,legend="U*"):
>
linha:= PLOT(CURVES([[22,0],[22,0.82]]),COLOUR(RGB,0,0,0), LINESTYLE(3),THICKNESS(1)):
>
legenda :=PLOT(TEXT([12,0.65],'`Wage`'),TEXT([12,0.58],'`Led`'),TEXT([55,0.65],'`Profit`'),TEXT([55,0.58],'`Led`')):
>
display(graf_m,graf_u,linha,legenda);
Valor inicial de U*
>
(alpha0+alpha1*m_0)/(sc*m_0*pk_0);
Valor de estabilidade de U*
>
limit((alpha0+alpha1*equilibrio_m)/(sc*equilibrio_m*pk),pk=0);
Verificando Estabilidade
>
A := linalg[matrix](2,2,[-theta*alpha1/sc, 0, 0, h]);
>
det(A);
>
trace(A);
>
epsilon;
>
equacoes:={diff(m(t),t)=-theta*((alpha0+alpha1*m(t))/sc-lucro_des),diff(pk(t),t)=h*pk(t)}:
>
solucao_m_pk := dsolve(equacoes union {m(0)=m_0,pk(0)=pk_0},{m(t),pk(t)},type=numeric):
>
graf_m:=odeplot(solucao_m_pk,[[t,m(t)],[t,pk(t)]],0..tempo,linestyle=1,legend=["m","pk"], title="h > 0", labels=["",""]):
>
solucao_m_pk:=dsolve(equacoes union {m(0)=m_0,pk(0)=pk_0}, numeric, output=listprocedure,
range=0..tempo):
>
dsolm := subs(solucao_m_pk,m(t)):dsolpk := subs(solucao_m_pk,pk(t)):
Cálculo do grau de utilização de capacidade de equilíbrio:
>
ut:=(alpha0+alpha1*dsolm(t))/(sc*dsolm(t)*dsolpk(t)):
>
graf_u:=plot(ut,t=0..tempo,linestyle=1,colour=blue,legend="U*"):
>
display(graf_m,graf_u);
Valor inicial de U*
>
(alpha0+alpha1*m_0)/(sc*m_0*pk_0);
Valor de estabilidade de U*
>
limit((alpha0+alpha1*equilibrio_m)/(sc*equilibrio_m*pk),pk=infinity);
Condições Iniciais e relações
>
u_desejado:=(alpha0+alpha1*m_0)/(pk_0*(sc*m_0-alpha2));
Trata-se da derivada que capta o efeito de uma variação da relação produto-capital sobre o nível de utilização da capacidade produtiva de equilíbrio de curto-prazo.
>
u_pk:=-(alpha0+alpha1*m_0)/(pk_0^2*(sc*m_0-alpha2));
Trata-se da derivada que capta o efeito de uma variação da participação dos lucros na renda sobre o nível de utilização da capacidade produtiva de equilíbrio de curto-prazo
>
u_m:=-(alpha0*sc+alpha1*alpha2)/(pk_0*(sc*m_0-alpha2)^2);
Elasticidade do nível de utilização da capacidade produtiva com respeito à participação dos lucros na renda.
>
epsilon:=sc*m_0/(sc*m_0-alpha2)-alpha1*m_0/(alpha0+alpha1*m_0);
A relação abaixo determina o "m de equilíbrio" que
deve ser superior a 0.
>
equilibrio_m:=(sc*lucro_des-alpha0+((sc*lucro_des-alpha0)^2-4*alpha1*alpha2*lucro_des)^0.5)/(2*alpha1);
Valor do discriminante. Deve ser
maior ou igual a zero
.
>
(sc*lucro_des-alpha0)^2-4*alpha1*alpha2*lucro_des;
O resultado abaixo
precisa ser maior que 0
, para assegurar que u_desejado > 0
>
sc*m_0-alpha2;
mesma analise acima, só que para o valor de m de equilibrio de longo prazo.
>
sc*equilibrio_m-alpha2;
O resultado abaixo
precisa ser maior que 0
, para assegurar que
não seja explosivo (
< 0).
>
sc-(alpha2*(alpha0+2*alpha1*m_0))/(alpha1*m_0^2);
Temos a mesma analise acima, só que para o valor de m de equilibrio de longo prazo.
>
sc-(alpha2*(alpha0+2*alpha1*equilibrio_m))/(alpha1*equilibrio_m^2);
Verificando Estabilidade
A := linalg[matrix](2,2,[theta*(alpha0*alpha2-alpha1*m_0*(sc*m_0-2*alpha2))/((sc*m_0-alpha2)^2), 0, 0, h]);
>
det(A);
>
trace(A);
>
equacoes:=diff(m(t),t)=-theta*(m(t)*(alpha0+alpha1*m(t))/(sc*m(t)-alpha2)-lucro_des):
>
solucao_m := dsolve({equacoes,m(0)=m_0},m(t),type=numeric):
>
graf_m:=odeplot(solucao_m,[t,m(t)],0..tempo,linestyle=1,colour=red,legend="m", title="h = 0", labels=["",""]):
>
solucao_m:=dsolve({equacoes,m(0)=m_0}, numeric, output=listprocedure,
range=0..tempo):
>
dsolm:= subs(solucao_m,m(t)):
Cálculo do grau de utilização de capacidade de equilíbrio:
>
ut:=(alpha0+alpha1*dsolm(t))/(pk_0*(sc*dsolm(t)-alpha2)):
>
graf_u:=plot(ut,t=0..tempo,linestyle=1,colour=blue,legend="U*"):
>
linhaPK:= PLOT(CURVES([[0,pk_0],[tempo,pk_0]],LEGEND("pk")),COLOUR(RGB,0,1,0), LINESTYLE(1),THICKNESS(1)):
>
display(graf_m,graf_u,linhaPK);
Valor inicial de U*
>
(alpha0+alpha1*m_0)/(pk_0*(sc*m_0-alpha2));
Valor de estabilidade de U*
>
(alpha0+alpha1*equilibrio_m)/(pk_0*(sc*equilibrio_m-alpha2));
Taxa de lucro no tempo:
>
rt:=ut*dsolm(t)*pk_0;
>
graf_r:=plot(rt,t=0..tempo,linestyle=1,colour=red,legend="R",title="Taxa de Lucro / Investimento", labels=["",""]):
>
it:=alpha0+alpha1*dsolm(t)+alpha2*(alpha0+alpha1*dsolm(t))/(sc*dsolm(t)-alpha2);
>
graf_i:=plot(it,t=0..tempo,linestyle=1,colour=blue,legend="I/K"):
>
display(graf_r,graf_i);
Valor inicial de R
>
m_0*(alpha0+alpha1*m_0)/(sc*m_0-alpha2);
Valor de equilíbrio de R
>
equilibrio_m*(alpha0+alpha1*equilibrio_m)/(sc*equilibrio_m-alpha2);
Valor inicial de I/K
>
alpha0+alpha1*m_0+alpha2*(alpha0+alpha1*m_0)/(sc*m_0-alpha2);
Valor de equilibrio de I/K
>
alpha0+alpha1*equilibrio_m+alpha2*(alpha0+alpha1*equilibrio_m)/(sc*equilibrio_m-alpha2);
Verificando Estabilidade
A := linalg[matrix](2,2,[theta*(alpha0*alpha2-alpha1*m_0*(sc*m_0-2*alpha2))/((sc*m_0-alpha2)^2), 0, 0, h]);
>
det(A);
>
trace(A);
>
equacoes:={diff(m(t),t)=-theta*(m(t)*(alpha0+alpha1*m(t))/(sc*m(t)-alpha2)-lucro_des),diff(pk(t),t)=h*pk(t)}:
>
solucao_m_pk := dsolve(equacoes union {m(0)=m_0,pk(0)=pk_0},{m(t),pk(t)},type=numeric):
>
graf_m:=odeplot(solucao_m_pk,[[t,m(t)],[t,pk(t)]],0..tempo,linestyle=1,legend=["m","pk"], title="h < 0", labels=["",""]):
>
solucao_m_pk:=dsolve(equacoes union {m(0)=m_0,pk(0)=pk_0}, numeric, output=listprocedure,
range=0..tempo):
>
dsolm := subs(solucao_m_pk,m(t)):dsolpk := subs(solucao_m_pk,pk(t)):
Cálculo do grau de utilização de capacidade de equilíbrio:
>
ut:=(alpha0+alpha1*dsolm(t))/(dsolpk(t)*(sc*dsolm(t)-alpha2)):
>
graf_u:=plot(ut,t=0..tempo,linestyle=1,colour=blue,legend="U*"):
>
linha:= PLOT(CURVES([[25,0],[25,0.72]]),COLOUR(RGB,0,0,0), LINESTYLE(3),THICKNESS(1)):
>
legenda :=PLOT(TEXT([12,0.57],'`Wage`'),TEXT([12,0.51],'`Led`'),TEXT([55,0.57],'`Profit`'),TEXT([55,0.51],'`Led`')):
>
display(graf_m,graf_u,linha,legenda);
Valor inicial de U*
>
(alpha0+alpha1*m_0)/(pk_0*(sc*m_0-alpha2));
Valor de estabilidade de U*
>
limit((alpha0+alpha1*equilibrio_m)/(pk*(sc*equilibrio_m-alpha2)),pk=0);
Verificando Estabilidade
A := linalg[matrix](2,2,[theta*(alpha0*alpha2-alpha1*m_0*(sc*m_0-2*alpha2))/((sc*m_0-alpha2)^2), 0, 0, h]);
>
det(A);
>
trace(A);
>
equacoes:={diff(m(t),t)=-theta*(m(t)*(alpha0+alpha1*m(t))/(sc*m(t)-alpha2)-lucro_des),diff(pk(t),t)=h*pk(t)}:
>
solucao_m_pk := dsolve(equacoes union {m(0)=m_0,pk(0)=pk_0},{m(t),pk(t)},type=numeric):
>
graf_m:=odeplot(solucao_m_pk,[[t,m(t)],[t,pk(t)]],0..tempo,linestyle=1,legend=["m","pk"], title="h > 0", labels=["",""]):
>
solucao_m_pk:=dsolve(equacoes union {m(0)=m_0,pk(0)=pk_0}, numeric, output=listprocedure,
range=0..tempo):
>
dsolm := subs(solucao_m_pk,m(t)):dsolpk := subs(solucao_m_pk,pk(t)):
Cálculo do grau de utilização de capacidade de equilíbrio:
>
ut:=(alpha0+alpha1*dsolm(t))/(dsolpk(t)*(sc*dsolm(t)-alpha2)):
>
graf_u:=plot(ut,t=0..tempo,linestyle=1,colour=blue,legend="U*"):
>
display(graf_m,graf_u);
Valor inicial de U*
>
(alpha0+alpha1*m_0)/(pk_0*(sc*m_0-alpha2));
Valor de estabilidade de U*
>
limit((alpha0+alpha1*equilibrio_m)/(pk*(sc*equilibrio_m-alpha2)),pk=infinity);