下载一个compecon工具箱。
根据一阶条件写一个m文件:
function [out1,out2,out3] = mfdp07(flag,s,x,e,alpha,beta,gamma);
switch flag
case 'b'; % BOUND FUNCTION
out1 = zeros(size(s)); % xl
out2 = 0.99*s; % xu
case 'f'; % REWARD FUNCTION
out1 = ((s-x).^(1-alpha))/(1-alpha); % f
out2 = -(s-x).^(-alpha); % fx
out3 = -alpha*(s-x).^(-alpha-1); % fxx
case 'g'; % STATE TRANSITION FUNCTION
out1 = gamma*x + e.*x.^beta; % g
out2 = gamma + beta*e.*x.^(beta-1); % gx
out3 = (beta-1)*beta*e.*x.^(beta-2); % gxx
end
命名ss
然后再开一个m文件:
disp('DEMDP07 OPTIMAL GROWTH MODEL')
close all
% ENTER MODEL PARAMETERS
alpha = 0.2; % utility parameter
beta = 0.5; % production elasticity
gamma = 0.9; % capital survival rate
sigma = 0.1; % production shock volatility
delta = 0.9; % discount factor
% COMPUTE SHOCK DISTRIBUTION
m = 3; % number of shocks
[e,w] = qnwlogn(m,-sigma^2/2,sigma^2); % shocks and proabilities
% PACK MODEL STRUCTURE
clear model
model.func = 'ss'; % model functions
model.discount = delta; % discount factor
model.e = e; % shocks
model.w = w; % probabilities
model.params = {alpha beta gamma}; % other parameters
% DEFINE APPROXIMATION SPACE
n = 10; % degree of approximation
smin = 5; % minimum state
smax = 10; % maximum state
fspace = fundefn('cheb',n,smin,smax); % function space
snodes = funnode(fspace); % state collocaton nodes