clear all; close all; % Definovani strukturalnich parametru modelu % tj. parametry preferenci (domacnosti) a technologii (firmy) % strukturalni = policy invariant = nezavisle na hopo % alpha : kapitalovy podil na vystupu % beta : diskontni faktor % delta : mira depreciace % theta : parametr rizikove averze, take (inverzni) mezicasova elast. substituce % gamma : uroven technologie alpha = .35; beta = .98; delta = .025; theta = 2; gamma = 5; % Najdete steady state uroven kapitalu jako funkci strukturalnic parametru % kstar = ((1/beta - 1 + delta)/(alpha*gamma))^(1/(alpha-1)); % Definovani poctu diskretnich hodnot k g = 3; % Mozne stavy kapitalu k = [2.85 3.00 3.15] % (a) % Vypocitejte matici spotreby c (3 × 3) pro vsechny mozne kombinace hodnot k_t a k_t+1 % vypocet v cyklu for i = 1 : g for j = 1 : g c(i,j) = gamma*k(i)^alpha + (1-delta)*k(i) - k(j); % i je citac pro stavovou promenou k_t % j je citac pro ridici promenou k_t+1 end end % efektivni vypocet % prirazeni uzitku % vypocet v cyklu % for i = 1 : g % for j = 1 : g % u(i,j) = (c(i,j)^(1-theta) - 1)/(1-theta); % i je citac pro stavovou promenou k_t % j je citac pro ridici promenou k_t+1 % end % end % efektivni vypocet % (b) % hodnotova funkce v = [167.6 168.1 168.6]; % Transformace vektoru v na matici 3 x 3, kde kazdy radek je identicky % definovani sloupcoveho vektoru jednicek one = [ ]; % prenasobeni vektoru jednicek a transponovaneho vektoru v tmp1 = [ ]; % alternativne pomoci fce repmat tmp0 = []; % Vykresleni vysledku disp(''); % blank line disp('v transformovany:') disp(tmp1); % Vypocet souctu {u(k_t,k_t+1) + beta*v(k_t+1)} tmp2 = []; % Vykresleni vysledku disp(''); % blank line disp('Matice ve slozenych zavorkach:') disp(tmp2); % (c) % Nalezeni nejvetsi hodnoty v kazdem radku % i.e. pro kazde k_t najdi hodnotu k_t+1, ktera maximalizuje cilovou funkci Tv = []; disp(''); % blank line disp('Vysledna hodnota z maximalizace pro kazde k_t:') disp(Tv); % (d) % Nalezeni optimalniho rozhodovaciho pravidla (zatim jen jeden krok) % najdi, ktery prvek k_t+1 (jeho poradi ve vektoru) dava optimalni hodnotu Tv = [ ]; disp(''); % blank line disp('Prvek vektoru k_t+1 pri optimalnim vyberu:') disp(''); % (optimalni) rozhodovaci pravidlo pro kapital (prevod poradi vektoru na hodnotu kapitalu k_t+1) kdr = []; disp(''); % blank line disp('rozhodovaci pravidlo pro k_t+1:') disp(kdr); % (optimalni) rozhodovaci pravidlo pro spotrebu, jako funkce stavu k cdr = []; % (e) % Vyse uvedene v cyklu % nastaveni parametru pro cyklus convcrit = 1E-9; % konvergencni kriterium (male cislo) diff = 1; % arbitrarne zvolene cislo (vetsi jak convcrit) iter = 0; % citac iteraci % while diff > convcrit % pro kazde k_t nadji k_t+1, ktera maximalizuje sumu okamziteho % uzitku a diskonovaneho budouciho uzitku % end % rozhodovaci pravidla kdr = []; cdr = [];