Einfaches Wachstumsmodell
Dieses Batch-File löst das nicht-stochastische Ramsey Modell mit exogenem Arbeitseinsatz und logarithmischer Nutzenfunktion im Konsum Datum: 02-06-10, Autor: Christian Bayer
Contents
(1) Säubere Arbeitsplatz
clear
clc
close all
(2) Ökonomisches Modell



(3) Definere Modellparameter
alpha=1/3; delta=0.1; beta=0.95;
(4) Definiere Programmparameter
Nk=200;
(5) Definere Gitter für Kapitalstock
(Steady State Kapitalstock)

r=(1-beta)/beta; Kss=(alpha/(r+delta))^(1/(1-alpha)); % Steady state Kapitalstock k_grid = linspace(0.8*Kss, 1.2*Kss,Nk); %Lege Gitter um den Steady state an
(6.1) Berechne Konsum für alle Handlungsmöglichkeiten
C=repmat(k_grid'.^alpha +(1-delta)*k_grid',1,Nk)-repmat(k_grid,Nk,1); %C= Produktion heute + abgeschriebenes Kapital - Kapital morgen % Langsame Alternative % tic % C=zeros(Nk,Nk); % for i=1:Nk % for j=1:Nk % C(i,j)=k_grid(i).^alpha + (1-delta)*k_grid(i) - k_grid(j); % end % end % toc
(6.2) Berechne zugehörigen Nutzen
u=log(C);
u(C<0)=-Inf; % Setze nicht mögliche Pläne auf Nutzen is minus unendlich
(7) Wertfunktionsiteration
dist=99; iteration=1; V=zeros(1,Nk); U=zeros(Nk,100); while dist>0.0001 [Vnew pol]=max(u+beta*ones(Nk,1)*V,[],2); %Zeilenweise maximieren dist=max(abs(Vnew'-V)); V=Vnew'; U(:,iteration)=Vnew; % Speichere die Wertfunktion nach jedem Iterationsschritt iteration=iteration+1; % Zähle die Iterationen end
(8) Graphische Darstellung
figure(1) title('Wertfunktion') ind=[1 10 20 40 60 80 100 120 140 160 190 200]; ind(ind>=iteration)=[]; plot(k_grid,U(:,ind)) ylabel('Wert') xlabel('Kapitalstock') for j=1:length(ind) ll{j}=['Nach ' num2str(ind(j)) 'Iterationen']; end legend(ll) figure(2) title('Politikfunktion') xlabel('Kapitalstock in t') ylabel('Kapitalstock in t+1') plot(k_grid,k_grid(pol)) hold on plot(k_grid,k_grid,'r') plot([Kss Kss], [k_grid(1) k_grid(end)], 'g:') legend({'Nächster Kapitalstock', '45° linie', 'steady state'})