Podobne dokumenty
MATLAB - laboratorium nr 1 wektory i macierze

Przy Matlabie istnieje duże społeczność wymieniająca się plikami, programami i poradami

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych

Metody i analiza danych

Zakłócenia w układach elektroenergetycznych LABORATORIUM

Wprowadzenie do Scilab: macierze

Obliczenia w programie MATLAB

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Metody numeryczne Laboratorium 2

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

1 Macierze i wyznaczniki

1. Liczby zespolone i

Podstawowe operacje na macierzach

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Wykład 14. Elementy algebry macierzy

Zajmijmy się najpierw pierwszym równaniem. Zapiszmy je w postaci trygonometrycznej, podstawiając z = r(cos ϕ + i sin ϕ).

MACIERZE I WYZNACZNIKI

Wprowadzenie do Scilab: macierze

3. Macierze i Układy Równań Liniowych

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

Zadania egzaminacyjne

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Odwrócimy macierz o wymiarach 4x4, znajdującą się po lewej stronie kreski:

MATEMATYKA I SEMESTR ALK (PwZ) 1. Sumy i sumy podwójne : Σ i ΣΣ

Wprowadzenie do Scilab: macierze

5. Rozwiązywanie układów równań liniowych

Zad. 3: Układ równań liniowych

Programowanie w Baltie klasa VII

Rozwiązywanie układów równań liniowych

Algebra WYKŁAD 3 ALGEBRA 1

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.

1 Macierz odwrotna metoda operacji elementarnych

DB Algebra liniowa semestr zimowy 2018

Macierze. Rozdział Działania na macierzach

Matematyka liczby zespolone. Wykład 1

Wprowadzenie do środowiska

Ćwiczenie 3: Wprowadzenie do programu Matlab

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

ALGEBRA z GEOMETRIA, ANALITYCZNA,

Algebra liniowa. 1. Macierze.

Zaawansowane metody numeryczne

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

RACHUNEK MACIERZOWY. METODY OBLICZENIOWE Budownictwo, studia I stopnia, semestr 6. Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska

φ(x 1,..., x n ) = a i x 2 i +

Macierze i Wyznaczniki

2. Układy równań liniowych

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

0 + 0 = 0, = 1, = 1, = 0.

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Wykład 5. Metoda eliminacji Gaussa

O MACIERZACH I UKŁADACH RÓWNAŃ

Obliczenia iteracyjne

Liczby zespolone. x + 2 = 0.

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

ANALIZA DANYCH I PROCESÓW. Mgr inż. Paweł Wojciech Herbin

Liczby zespolone. Magdalena Nowak. 23 marca Uniwersytet Śląski

MACIERZE. Sobiesiak Łukasz Wilczyńska Małgorzata

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Definicja macierzy Typy i właściwości macierzy Działania na macierzach Wyznacznik macierzy Macierz odwrotna Normy macierzy RACHUNEK MACIERZOWY

1 Logika. 1. Udowodnij prawa logiczne: 3. (p q) (p q) 2. (p q) ( q p) 2. Sprawdź, czy wyrażenie ((p q) r) (p (q r)) jest tautologią.

Algebra macierzy

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski

04 Układy równań i rozkłady macierzy - Ćwiczenia. Przykład 1 A =

III TUTORIAL Z METOD OBLICZENIOWYCH

Zajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria

Lista 6. Kamil Matuszewski 13 kwietnia D n =

2. DZIAŁANIA NA WIELOMIANACH

A A A A A A A A A n n

Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

ALGEBRA Z GEOMETRIĄ ANALITYCZNĄ zadania z odpowiedziami

Wykorzystanie programów komputerowych do obliczeń matematycznych

Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!

Programy wykorzystywane do obliczeń

4. Funkcje. Przykłady

Konkurs dla szkół ponadgimnazjalnych Etap szkolny 9 stycznia 2013 roku

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Cw.12 JAVAScript w dokumentach HTML

Wstęp do Programowania Lista 1

SZYBKI ALGORYTM Z MACIERZĄ SHURA DLA MACIERZY TRÓJDIAGONALNYCH

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Wprowadzenie do programu Mathcad 15 cz. 1

Funkcje dwóch zmiennych

EXCEL Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

UKŁADY RÓWNAŃ LINIOWYCH

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

ALGEBRA Z GEOMETRIĄ ANALITYCZNĄ

Programowanie celowe #1

Lista nr 1 - Liczby zespolone

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

ALGEBRA LINIOWA. Wykład 2. Analityka gospodarcza, sem. 1. Wydział Zarządzania i Ekonomii Politechnika Gdańska

Transkrypt:

Pomimo rozwoju programów klikologicznych w ekonometrii, istnieje wiele osób, które wciąż cenią sobie programy typu Matlab, czy Gauss. W programach klikologicznych typu EViews użytkownik ma małą kontrolę nad tym co program robi. Można co najwyżej mieć zaufanie do programistów poszczególnych firm i wierzyć, że to co jest ukryte pod maską programu zostało naprawdę dobrze zaprogramowane. W Gaussie i Matlabie mamy większość rzeczy pod naszą kontrolą. Moglibyśmy korzystać również z programów czysto programistycznych jak np. C++, ale Gauss ma kilka zalet Po pierwsze Gauss rozumie macierze. Wszelkie operacje macierzowe są niezwykle proste np. odwrócenie macierzy otrzymujemy przez A. Po drugie wiele rzeczy zostało już oprogramowane przez ekonometryków na świecie. Wystarczy ściągnąć kod z sieci, ewentualnie go trochę zmodyfikować i używać do własnych potrzeb. Tak naprawdę większość rzeczy, które będziemy robić można znaleźć na różnych uniwersyteckich serwerach. Np. http://www.wws.princeton.edu/mwatson/ec518/gauss_tutorial.html http://faculty.washington.edu/ezivot/gaussfaq.htm http://www.arec.umd.edu/gauss/ Kody do Gaussa http://www.american.edu/academic.depts/cas/econ/gaussres/gaussidx.htm Gauss jest też bardzo podobny do Matlaba, można nawet sobie ściągnąć konwerter kodów http://www.american.edu/academic.depts/cas/econ/gaussres/utilitys/gtoml Większość nowoczesnych i najnowszych rzeczy w ekonometrii najpierw pojawia się jako kody entuzjastów np. w Gaussie, a dopiero parę lat później można znaleźć w klikologicznych programach ekonometrycznych. Gauss ma również tą zaletę, że można bezpłatnie korzystać z wersji Gauss light (głównym ograniczeniem jest liczba elementów macierzy nie większa niż 10.000, tzn. np. 100x100) Instrukcja jak ściągnąć http://econweb.rutgers.edu/bhardwaj/ftpgauss.doc

Katalog roboczy W oknie (Command Window) pomimo nazwy głównie pojawiać się będą wyniki. Na początek będziemy tam ręcznie wpisywać komendy Warto jest wybrać opcję Window->Output Window i rozdzielić okno na okno komend i okno wyników Podstawy programowania i obróbka danych W Gaussie wszystkie komendy muszą się kończyć średnikiem. Na szczęście jeśli zapomnimy Gauss zrobi to za nas. Do komentarzy możemy wykorzystać następujące dwie formy @ komentarz @, lub /*komentarz*/. Ta druga jest oczywiście preferowana. Dlaczego? @ komentarz malo widoczny @ /*Komentarz bardzo widoczny*/ Na początek popatrzmy na kilka najprostszych operacji x=3; y=7;

z=x+y; print "zdefiniowalismy zmienne x,y,z" x y z; /*Możemy tez*/ b="zdefiniowalismy rozne liczby"; print b x y; Gauss zazwyczaj równie dobrze radzi sobie z liczbami jak i ze stringami W gaussie bez problemu możemy posługiwać się liczbami zespolonymi. v=complex(3,1); print v; /*Część rzeczywista*/ real(v); /*część urojona*/ imag(v); Zaokrąglanie liczb. Liczby możemy zaokrąglać do wartości rzeczywistych na kilka sposobów. y=123*atan(3)^2; print y; floor(y) /* podłoga największa liczba mniejsza od zadanej*/ round(y) /*zaokrąglenie do najbliższej liczby całkowitej*/ ceil(y) /* sufit najmniejsza liczba większa od zadanej*/ fix(y) /*Zaokrąglenie w kierunku zera*/ fix(-y) floor(-y) ceil(-y) round(-y) Do wprowadzania macierzy używamy nawiasów klamrowych A={1 2 3, 4 5 6}; print A; /*Usunięcie zmiennej b*/ delete B; let B[2,3]= 1 2 3 4 5 6; print B;

f=5e2; print f; Przecinek decyduje o końcu wiersza, korzystając z opcji let najpierw definiujemy wymiar macierzy. Spróbujmy wprowadzić coś błędnego /*Bledne kody*/ let C[1,4]=1 2 3; print C; /*Tak juz mozna*/ let C[1,4] =5; print C; /*mozna tez tak*/ let x = 1 2, 3 4, 5 6; x; Macierze specjalne A=zeros(3,3); print A; B=ones(2,5); print B; C=eye(4); print C; Czasami dla większej czytelności możemy zmienić sobie format wyświetlania. Np. format 12,3; /*odstęp między liczbami =12; Liczba miejsc po przecinku =3*/ C; Na macierzach możemy przeprowadzać właściwie wszystkie znane nam operacje Macierze (jeśli tylko mają odpowiednie wymiary możemy) dodawać, mnożyć, odwracać, transponować konsolidować Na początek zdefiniujmy kilka macierzy A={1 2, 3 4}; A; B={1 1, 2 2}; B; C={1 2 3, 4 5 6};

C; /*dodawanie, tylko dla macierzy o tych samych wymiarach*/ print A+B; /*mnozenie*/ D=A*B; print D; print A*C; /*Tak mozna*/ /*A tak już nie*/ print C*A; /*Transponowanie macierzy*/ print C ; E=C'*A; print E; /*Odwracanie macierzy*/ A1=inv(A); print A1; /*Sprawdzmy czy macierz jest dobrze odwrocona*/ print A1*A; print A*A1; /*Suma każdego wiersza i każdej kolumny*/ sumc(c); sumr(c); /*Dla niekwadratowych też można znalezc diag*/ diag(c); Możemy też składać macierze w wektor, albo po kolumnach, albo po wierszach A; vec(a); /*stworzenie wektora ze złożonych kolumn*/ vecr(a); /*zbudowanie wektora ze złożonych kolumn*/ Macierze możemy też konsolidować (po wierszach, albo po kolumnach) a; b; print a b; /*konsolidacja w kolumnach*/ print a~b; /*Konsolidacja w wierszach*/ Oczywiście możemy odnieść się bezpośrednio do każdego elementu macierzy. Do elementu macierzy odnosimy przez podanie nr wiersza i nr kolumny awb=a~b; print awb[2,1]; /*drugi wiersz i pierwsza kolumna*/ print awb[1,3]; /*pierwszy wiersz i trzecia kolumna*/; Możemy też dodawać poszczególne elementy do siebie x2=awb[2,1]+awb[1,4]; print x2; Operacje z kropką.

W gaussie możliwe są tzw. operacje z kropką. Polegają one na np. mnożeniu macierzy element po elemencie print A B; print A.*B; /*mnozenie elementu a[ij] przez element b[ij]. Macierze muszą być tych samych wymiarow*/ print A*B; Możemy też wykonywać operacje na każdym elemencie b={3,4,5}; b^2; /*silnia z każdego elementu*/ b!; Ale też np. e={0, 12, 4}; b.*e; b*e; /*nie da się takiej operacji*/ /*Iloczyn skalarny*/ b'*e; /*Można też potęgę wyraz po wyrazie*/ b.^e; /*lub*/ e^b; /*dzielenie wyraz po wyrazie*/ e./b; Możemy znaleźć też wektor złożony z elementów na przekątnej z1=diag(eye(3)+3*ones(3,3)); print z1; Ale w gaussie macierze możemy też np. dzielić. Co to znaczy C = A/ B 1 gdy B kwadratowe C = B A 1 gdy B niekwadratowe C = ( B' B) B' A Tak naprawdę lepiej jest policzyć samemu. Porównajmy C A; G=C/A; print G;

G2=inv(A)*C; print G2; print inv(a'*a)*a'*c; C2=A*G; print C2; Chcemy rozwiązać równanie Ax=b. Znamy A i b, chcemy znaleźć x. Np. M2={8 1 6, 3 5 7, 4 9 2}; b={3,4,5}; x=b/m2; print x; /*Sprawdzenie*/ print M2*x; Macierz M2 jest macierzą magiczną Policzmy sumę w wierszach i w kolumnach sumc(m2) sumr(m2) Zadania. Wprowadzić do systemu następujące macierze 1 3 5 A1= 0 0 0 1 1 1 1 0 0 0 0 1 0 0 A2 = 0 0 1 0 0 0 0 1 7 A3= 3*10 10 23 11 1 A4= 5 π Obliczyć część rzeczywistą, część ułamkową, znaleźć kąt i liczbę sprzężoną dla 0 0 a1 = 3+ 4 i; a2 = cos 30 + i sin 30 ; a3 = exp(4) + iln(5) Pamiętaj, że standardowo w Gaussie kąty są w radianach, np. 45 0 oznacza pi/4 Wprowadź do Gaussa macierz X=

17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 Y macierz jednostkowa o wymiarach 5 na 5 Z macierz 2 na 3 o wyrazach losowych V macierz 3 na 12 złożoną z zer a=[2 20 11 4 5] Sprawdź, czy X jest kwadratem magiczny. Znajdź macierz odwrotną do macierzy X i sprawdź, czy jest to rzeczywiście macierz odwrotna Znajdź liczbę k będącą sumą elementów na diagonali macierzy X Znajdź liczbę l będącą sumą elementu leżącego w trzecim wierszu i czwartej kolumnie, oraz liczby będącej w 5 wierszu i 1 kolumnie macierzy X Przemnóż macierz X i Y. Przemnóż macierz X i Y wyraz po wyrazie. Znajdź wektor u będący rozwiązaniem równania X*u=a. Którą operację da się wykonać? a4*v, a4 *V, V*a4, V*a4, V.*a4, V.*a4'. Zbudować wektor złożony z wektorów i kolumn macierzy X.