Makroekonomia Zaawansowana
wiczenia 2 Podstawy pracy z Octave/Matlabem Andrzej Torój
Instytut Ekonometrii Zakªad Ekonometrii Stosowanej
Plan ¢wicze«
1 Pierwsze uruchomienie
2 Podstawowe operacje macierzowe w Matlabie/Octave
3 Wy±wietlanie wyników
4 Zadanie
Plan prezentacji
1 Pierwsze uruchomienie
2 Podstawowe operacje macierzowe w Matlabie/Octave
3 Wy±wietlanie wyników
4 Zadanie
Pierwsze uruchomienie
Matlab, Octave, Dynare
1 Octave: program do oblicze« macierzowych z j¦zykiem skryptowym. Darmowy klon komercyjnego Matlaba.
2 Dynare: dodatek (zestaw rutyn) do Octave/Matlaba, automatyzuj¡cych prac¦ z modelami DSGE. Nie dziaªa samodzielnie.
Pierwsze uruchomienie
(1) Octave/Dynare: instalacja
Na zaj¦ciach:
Uruchamiamy Octave z pliku Octave\3.2.3_gcc-4.4.0\bin w zaª¡czonym folderze (mo»emy utworzy¢ skrót w folderze gªównym). W konsoli na dole ekranu wpisujemy:
Po wci±ni¦ciu Enter powinno si¦ wy±wietli¢:2*2 ans =
4
Pierwsze uruchomienie
W domu:
Instalujemy Octave i Dynare w najnowszej stabilnej wersji dla wªasnego systemu operacyjnego ze stron:
http://www.dynare.org/download/octave/windows http://www.dynare.org/download/
Na potrzeby tej instrukcji zakªadam instalacj¦ w folderze F:\dynare i istnienie ±cie»ki (któr¡ ka»dy zmodykuje sobie odpowiednio sam):
F:\Dynare\4.4.3\matlab\
Pierwsze uruchomienie
(2) Dynare: pierwsze uruchomienie
Na zaj¦ciach: nic nie musimy robi¢, wszystkie poni»sze czynno±ci wykonuj¡ si¦ przy uruchomieniu Octave jako instrukcje zawarte w pliku Octave\3.2.3_gcc-4.4.0\share\octave\site\m\startup\.octaverc.
W domu: aby Matlab (lub Octave) rozpoznawaª Dynare, nale»y wpisa¢ w obu przypadkach polecenie (odpowiednio dostosowane do folderu instalacyjnego Dynare):
addpath F:\Dynare\4.2.4\matlab\
Dynare jest dost¦pne, je»eli po wykonaniu w Matlabie/Octave polecenia dynare x
pojawi si¦ ci¡g komunikatów (zako«czonych informacj¡ o braku pliku x):
Configuring Dynare ...
[mex] Generalized QZ.
[mex] Sylvester equation solution.
...
Pierwsze uruchomienie
W domu: czynno±ci przy uruchomieniu
Przy ka»dym uruchomieniu Matlaba/Octave w domu nale»y wykona¢
trzy czynno±ci. W przypadku ka»dej z nich przykªadowe ±cie»ki nale»y odpowiednio dostosowa¢:
F:\Dynare\4.2.4\matlab\ → katalog z instalacj¡ Dynare, podkatalog z numerem wersji, podkatalog Matlab
F:\MZ\katalog_roboczy\→ katalog, do którego zapiszemy pliki, z jakimi b¦dziemy pracowa¢ (Uwaga! (i) w przypadku stosowania podfolderów nale»y je równie» uwzgl¦dnia¢ w tej ±cie»ce, (ii) unikamy spacji w nazwach katalogów)
Czynno±ci do wykonania
addpath F:\Dynare\4.2.4\matlab\
addpath F:\MZ\katalog_roboczy\
cd F:\MZ\katalog_roboczy\
Plan prezentacji
1 Pierwsze uruchomienie
2 Podstawowe operacje macierzowe w Matlabie/Octave
3 Wy±wietlanie wyników
4 Zadanie
Podstawowe operacje
Wprowadzanie macierzy
1 5 8 2 6 4
y = [1 5 8; 2 6 4]
0 1 2 0.5
x = [0, 1; 2, 0.5];
Wskazówki
Wielko±¢ liter ma znaczenie (y 6= Y ).
rednik na ko«cu polecenia powoduje, »e efekt jego wykonania nie jest na bie»¡co wy±wietlany.
Podstawowe operacje
Konkatenacja macierzy
y =
1 5 8 2 6 4
x =
0 1 2 0.5
z =
1 5 8 2 6 4 0 1
2 0.5
z = [y x];
y =
1 5 8 2 6 4
u =
2 5 3 v =
1 5 8 2 6 4 2 5 3
v= [y; u];
Podstawowe operacje
Dost¦p do fragmentu macierzy
Wprowad¹my macierz H =
1 2 3 4 5 6 7 8 9
. Jaki wynik przynios¡
operacje?
H(1,1) H(1,2) H(2,1) H(1:2,1:2) H(3,2:3) H(1,:) H(:,3)
Podstawowe operacje
Mno»enie, odwracanie, transpozycja
Mno»enie macierzy x i y:
M1=x*y;
Odwracanie macierzy x:
M2=inv(x);
Transpozycja macierzy y:
M3=y';
Powy»sze polecenia generuj¡ nowe macierze o nazwach M1, M2 i M3.
Podstawowe operacje
Automatyczne generowanie niektórych macierzy
losowa macierz 3x2, rozkªad
jednostajny (0,1) m1 = rand(3,2);
losowy wektor 5x1, rozkªad
normalny (0,1) m2 = randn(5,1);
...a jak zadziaªaj¡ te polecenia?
m3 = eye(7);
m4 = zeros(7,8);
m5 = ones(5,1);
m6 = diag(m2);
m7 = repmat(m1,3,4);
m8 = NaN(4,2);
Podstawowe operacje
Operacje element by element
x1 =
1 0 0 1
x2 =
2 2 2 2
Wprowad¹my te macierze do programu (którym± z szybkich
sposobów) i sprawd¹my, jak zadziaªaj¡ polecenia:
x1*x2 x1.*x2 x2^2x2.^2
Plan prezentacji
1 Pierwsze uruchomienie
2 Podstawowe operacje macierzowe w Matlabie/Octave
3 Wy±wietlanie wyników
4 Zadanie
Wy±wietlanie wyników
Sterowanie wy±wietlaniem tekstu na konsoli
%Poni»sze polecenie tworzy macierz jedynek x o wymiarach 2x2:
x=ones(2,2) y=ones(3,3);
display('Wªa±nie utworzono macierze jedynek x i y.');
display(x);
display(y(2,2));
Wy±wietlanie wyników
Wykresy
Stwórzmy dwa wektory losowe o dªugo±ci 20 obserwacji, nazwane x1 i x2. Zaªó»my, »e s¡ to szeregi czasowe obejmuj¡ce lata 1995-2014.
Zaprezentujemy je na wykresie:
x1=randn(20,1);
x2=randn(20,1);
time_id = linspace(1995,2004,20);
figure(1);
plot(time_id, [x1' ; x2' ]);
title('Zmienne x1 oraz x2');
legend('x1','x2');
Plan prezentacji
1 Pierwsze uruchomienie
2 Podstawowe operacje macierzowe w Matlabie/Octave
3 Wy±wietlanie wyników
4 Zadanie
Zadanie
Zadanie
Na nast¦pne zaj¦cia zapoznaj si¦ z tekstami Mutha i Lucasa, zamieszczonymi na stronie.