2010-05-20 71 views
1

也許這是一個比MATLAB更重要的數學問題,不是很確定。我正在使用MATLAB來計算經濟模型 - 新的混合ISLM模型 - 並且在作者切換解決方案的符號時出現了一個令人困惑的步驟。MATLAB中的差分方程 - 爲什麼需要切換符號?

首先,作者聲明瞭符號變量並建立了一個差分方程組。另外,後綴 「a」 和 「2噸」 既表示 「時間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的每個組件的跡象,但我沒有,爲什麼有必要清醒的認識。如果問題不清楚,或者這不是最好的問題,我很抱歉。

+0

你能提供你正試圖解決更方便讀取的方程嗎?IE,而不是matlab代碼本身,而只是模型,因爲它會出現在教科書中。 – Marc 2010-05-20 13:20:36

+0

我剛更新了這個帖子以包含方程,希望能夠使它更容易理解。非常感謝您的關注。 – jefflovejapan 2010-05-20 15:24:59

+1

如果您不切換標誌,您會得到不同的答案嗎? – Anycorn 2010-05-20 22:01:38

回答

2

我認爲關鍵在於模型是前瞻性的,所以斜率(偏導數)需要被逆轉,以便及時倒退。考慮它的一種方法是說,jacobian()函數總是在前向時間方向上計算導數。你有一個狀態的輸出向量叫做optcon = [IS; AS; dum1; dum2; MPs],和兩個輸入狀態向量[y2 pi2 y pi v]。時間t + 1處的輸入向量爲[y2a pi2a ya pia va],並且時間t處的輸入向量爲[y2t pi2t yt pit vt]。這兩個連接成一個單獨的矢量,用於調用jacobian(),然後再分開。同樣的事情可以在兩個電話中完成。 jacobian()輸出的前5列是在時間t + 1時optcon相對於輸入矢量的偏導數,後5列是相對於時刻t處的輸入矢量。

爲了得到簡化形式,您需要在時間t + 1時爲optcon提出兩個方程。 coef的後半部分正是需要的。但是係數的前半部分是在時間t + 2時optcon的等式。訣竅是反轉偏導數的符號以獲得將t + 1處的輸入矢量到t + 1處的輸出optcon的線性化係數。

+0

我花了很長時間來圍繞這個,但是您對。非常感謝您的幫助。 – jefflovejapan 2010-06-11 06:32:25