Возможно, это скорее математический вопрос, чем вопрос MATLAB, не совсем уверен. Я использую MATLAB для вычисления экономической модели - модели New Hybrid 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 )
Насколько я понимаю, это А - решение системы. Это матрица, которая превращает переменные времени t + 1 и t + 2 в переменные t и t + 1 (это прогнозная модель). По сути, мой вопрос: почему необходимо обратить знаки всех частных производных в B, чтобы получить это решение? Я говорю об этом шаге:
B = [ -coef(:,1:5) ] ;
Изменение знака здесь, очевидно, меняет знак каждого компонента A, но у меня нет ясного понимания, почему это необходимо. Приношу свои извинения, если вопрос неясен или это не лучшее место, чтобы задать.