也许这更像是一个数学问题而不是 MATLAB 问题,不太确定。我正在使用 MATLAB 来计算经济模型 - 新混合 ISLM 模型 - 并且有一个令人困惑的步骤,作者切换了解决方案的符号。
首先,作者声明了符号变量并建立了一个差分方程组。请注意,后缀“a”和“2t”均表示“时间 t+1”,“2a”表示“时间 t+2”,“t”表示“时间 t”:
%% --------------------------[2] MODEL proc-----------------------------%%
% Define endogenous vars ('a' denotes t+1 values)
syms y2a pi2a ya pia va y2t pi2t yt pit vt ;
% Monetary policy rule
ia = q1*ya+q2*pia;
% ia = q1*(ya-yt)+q2*pia; %%option speed limit policy
% Model equations
IS = rho*y2a+(1-rho)*yt-sigma*(ia-pi2a)-ya;
AS = beta*pi2a+(1-beta)*pit+alpha*ya-pia+va;
dum1 = ya-y2t;
dum2 = pia-pi2t;
MPs = phi*vt-va;
optcon = [IS ; AS ; dum1 ; dum2; MPs];
编辑:将出现在教科书中的矩阵中的方程如下(大括号表示时间段值,希腊字母是参数):
第一个方程:
y{t+1} = rho*y{t+2} + (1-rho)*y{t} - sigma*(i{t+1}-pi{t+2})
第二个等式:
pi{t+1} = beta*pi{t+2} + (1-beta)*pi{t} + alpha*y{t+1} + v{t+1}
第三和第四是假人:
y{t+1} = y{t+1}
pi{t+1} = pi{t+1}
第五很简单:
v{t+1} = phi*v{t}
继续,作者计算矩阵 A:
%% ------------------ [3] Linearization proc ------------------------%%
% Differentiation
xx = [y2a pi2a ya pia va y2t pi2t yt pit vt] ; % define vars
jopt = jacobian(optcon,xx);
% Define Linear Coefficients
coef = eval(jopt);
B = [ -coef(:,1:5) ] ;
C = [ coef(:,6:10) ] ;
% B[c(t+1) l(t+1) k(t+1) z(t+1)] = C[c(t) l(t) k(t) z(t)]
A = inv(C)*B ; %(Linearized reduced form )
据我了解,这个A是系统的解决方案。它是将时间 t+1 和 t+2 变量转换为 t 和 t+1 变量的矩阵(这是一个前瞻性模型)。我的问题本质上是为什么需要反转 B 中所有偏导数的符号才能得到这个解决方案?我说的是这一步:
B = [ -coef(:,1:5) ] ;
在这里反转符号显然会反转A的每个组件的符号,但我没有清楚地理解为什么它是必要的。如果问题不清楚或者这不是最好的提问地方,我深表歉意。