Makroekonomia Zaawansowana wiczenia 2 Podstawy pracy z Octave/Matlabem MZ 1 / 20
Plan wicze«1 Pierwsze uruchomienie 2 Podstawowe operacje macierzowe w Matlabie/Octave 3 Wy±wietlanie wyników 4 Zadanie MZ 2 / 20
Plan prezentacji 1 Pierwsze uruchomienie 2 Podstawowe operacje macierzowe w Matlabie/Octave 3 Wy±wietlanie wyników 4 Zadanie MZ 3 / 20
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. MZ 4 / 20
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: 2*2 Po wci±ni ciu Enter powinno si wy±wietli : ans = 4 MZ 5 / 20
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\ MZ 6 / 20
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.... MZ 7 / 20
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\ MZ 8 / 20
Plan prezentacji 1 Pierwsze uruchomienie 2 Podstawowe operacje macierzowe w Matlabie/Octave 3 Wy±wietlanie wyników 4 Zadanie MZ 9 / 20
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 Y ). rednik na ko«cu polecenia powoduje,»e efekt jego wykonania nie jest na bie» co wy±wietlany. MZ 10 / 20
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 v= [y; u]; ] u = [ 2 5 3 ] v = 1 5 8 2 6 4 2 5 3 MZ 11 / 20
Podstawowe operacje Dost p do fragmentu macierzy Wprowad¹my macierz H = operacje? H(1,1) H(1,2) H(2,1) H(1:2,1:2) H(3,2:3) H(1,:) H(:,3) 1 2 3 4 5 6 7 8 9. Jaki wynik przynios MZ 12 / 20
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. MZ 13 / 20
Podstawowe operacje Automatyczne generowanie niektórych macierzy losowa macierz 3x2, rozkªad jednostajny (0,1) losowy wektor 5x1, rozkªad normalny (0,1)...a jak zadziaªaj te polecenia? m1 = rand(3,2); m2 = randn(5,1); m3 = eye(7); m4 = zeros(7,8); m5 = ones(5,1); m6 = diag(m2); m7 = repmat(m1,3,4); m8 = NaN(4,2); MZ 14 / 20
Podstawowe operacje Operacje element by element x 1 = [ 1 0 0 1 ] x 2 = [ 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^2 x2.^2 MZ 15 / 20
Plan prezentacji 1 Pierwsze uruchomienie 2 Podstawowe operacje macierzowe w Matlabie/Octave 3 Wy±wietlanie wyników 4 Zadanie MZ 16 / 20
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)); MZ 17 / 20
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'); MZ 18 / 20
Plan prezentacji 1 Pierwsze uruchomienie 2 Podstawowe operacje macierzowe w Matlabie/Octave 3 Wy±wietlanie wyników 4 Zadanie MZ 19 / 20
Zadanie Zadanie Na nast pne zaj cia zapoznaj si z tekstami Mutha i Lucasa, zamieszczonymi na stronie. MZ 20 / 20