MATLAB
Rozdział 1
1. Podstawy podstaw
A wiec… zaczynamy… J żeby wypisac cos wystarczy cos wpisac np.:
2+2
I wyskoczy nam
Ans:
4
Haaa działa :D jestem de beast :D
Matlab posiada także zestaw znaczników czy jak to się tam nazywa… chodzi o to ze np. jak wpiszemy i albo j to mamy liczbe zespolona J np.:
(2*i)^2+2
-2
Haaa działa… :P co lepsza program ma jaja i potrafi nawet obliczyc np. Moduł J albo pokazac czesc rzeczywista
Z = 3+2i
Real(z) = 3 - ta komenda pokazuje czesc rzeczywistą liczby zespolonej
Imag(z) = 2 - czesc urojona
Conj(z) = 3-2i - sprzężenie liczby zespolonej
Angle(z) = 0.5880 - argument liczby zespolonej… ( co kolwiek to znaczy…)
Abs(z) = 3.6 - nie to nie jest abs z samochodu :P to moduł J
Co lepsza matlab posiada help’a :D i lookfor’a :D jeżeli nie wiemy co znaczy jakas komenda to możemy wpisac np.:
help exp
i wyświetli nam się
EXP Exponential.
EXP(X) is the exponential of the elements of X, e to the X.
For complex Z=X+i*Y, EXP(Z) = EXP(X)*(COS(Y)+i*SIN(Y)).
See also expm1, log, log10, expm, expint.
Overloaded functions or methods (ones with the same name in other directories)
help fints/exp.m
help xregcovariance/exp.m
help sym/exp.m
Reference page in Help browser
doc exp
czyli gówno nam to daje… ale fajnie ze jest… to samo z lookfor
lookfor exp
WOW to jest lepsze niż wikipedia qrwa J wyświetliło mi się z 1000 linijek :D mówiąc szczerze czekam już 30 sekund a to się jeszcze wyswietla… tez nam to gowno da bo egzamin jest na kartce… ale to tak na marginesie…:P
2. Macierze
Qrwa :/… maciesz tworzy się tak…
A = [1 2 3; 1 2 3]
A = [1,2,3;1,2,3]
A = [1,2,3
1,2,3]
…
Można używać polecen :P
A = [1+2,3+2i;1,1-exp(2)+cos(1)+pi-sin(0)-pi^2]
J
Można używać też np… qrwa slownik w wordzie mi sie na angielski zmienil do huja wacka ;/ kurwa… oo działa nie podkreśliło kurwa J dobra lecimy dalej. A wiec np.:
A =[1:5] - co oznacza ze macierz będzie miała jeden wiersz czyli będzie wektorem od 1 do 5… A[pierwsza_liczba:ostatnia_liczba]
To samo będzie przy uzyciu
A = [1,2,3,4,5] :p
Można tez dodac krok a wiec A[pierwsza_liczba:krok:ostatnia_liczba]
A = [1:5:10]… otrzymamy 1 i 6… wiem ze dziwne ale tak jest… bo pierwsza liczba to 1 a krok to 5 a wiec 1 + 5 = 6… :P
Do tworzenia macierzy są gotowe komendy…:
Eye(2) - czyli maciez jednostkowa 1 0
0 1
Zeros(2) -macierz wypełniona zerami
Ones(4) -maciez wypelniona jedynkami
rand(2,3) - maciez losowa z przedziału od 0 do 1
randn(2,3) - rozklad normalny o zerowej srednie i jednostkowej warjanci… jebcie to… ja to przepisałem książki…
Wypisywanie macierzy…
Tworzymy macierz:
X = [1:1:5;1:2:10]
I teraz chcemy ją wypisac czyli dajemy
X(1:2,1:5)
Albo w skrucie
X(:,:) --- i będzie to samo :p
:P czyli w skrucie… X(wiersze,kolumny)…
Można też tworzyc macierz z macierzy :P
Np.
A = [1,2;3,4];
B = [1:5;1:2:10];
C = [A,B]
Aha… 2 sprawy :P tworzac macierz z macierzy musza zgadzac się wszystkie kolumny i wiersze oraz… mowilem już ze jak na koncu komendy zaraz przed enterem damy „;” to nam się nie wyświetli to co się zrobilo? :p
Matlab pozwala nam na odczytywanie ilości wierszy i kolumn… np.:
Size(B)
Wyświetli nam
2 5
Size(B,1) – wyswietla ilość wierszy
Size(B,2) – ilość kolumn…
Można też zmienic wymiar macierzy komenda reshape(macierz,wiersze,kolumny) pod warunkiem ze zgadza się ilość pól.
Można też bardzo szybko uzyskac macierz sprzężona poprzez”’”
Czyli
B’
Da nam macierz sprzężoną
Teraz oczywiście operatory logiczne… wszystko zgodnie z intuicją czyli aby dodac albo odjąć macierze musza być takie same. Przy mnożeniu liczba wierszy pierwszej rowna liczbie kolumn drugiej chyba że… i tu wchodzi nam operator „.” Czyli kropka !! haaa matlab rox… albo sux… jeden huj…
A = [B]
A*B - się wysypie bo nie zgadza się liczba kolumn i wierszy
A.*B – element pierwszy maciezy A jest pomnozony z elementem pierwszym macierzy B… drugi z drugim… itd… to samo tyczy się operatora potęgowego… „^” tylko tu jest burdel :P
B^2 – czyli B*B – czyli się wysypie w naszym przypadku
B.^2 – czyli każdy element z B do potęgi 2…
A = [1,2;1,2]
2^A – wyjda nam jakies gowna ale chodzi o to ze dwa jest podnoszone do potegi maciezy… cos w tym stylu… wali mnie to :p
3. Łańcuchy testowe
Czyli:
A = ‘test’
i da nam to zmienna typu string o zawartości ‘test’ za to abs(A) da nam wektor liczbowy slowa test :P abs rule….
I to by było na tyle :p
4. Skrypty
A wiec primo pierwsze… nigdy nie dawajcie nazwy skryptowi np. if…. ja stworzyłem plik if.m i przez qrwa prawie 1h się wkurwialem czemu mi nie dziala :/ a potem zmieniłem nazwe i dziala :P o co chodzilo… wczytywanie polega na wywoływaniu nazwy pliku bez rozszerzenia… a jak wpiszemy zwykle if… po prostu wyskoczy nam ze brak argumentu… L.
A wiec skrypt tworzymy poprzez File->New->M-file, a wywołyjemy plik poprzez podanie jego nazwy bez rozszerzenia… no to marudzic nie ma co przejdźmy do konkretów…
(daruje sobie opisywanie poszczególnych funkcji… po prostu funkcja i składnia…)
IF…
If warunek
Zawartość
Elseif warunek
Zawartosc
Else
End
While
While warunek
For
For warunek_poczatkowy:warunek_koncowy
Zawartosc end
For warunek_poczatkowy:krok:warunek_koncowy
end
5. Funkcje
Tutaj zaczyna się już trochę komplikacji ale jeszcze idzie to ogarnąć J
Generalnie funkcja ma formułę:
Function [zmienne_wyjściowe]=nazwa_funkcji(zmienne_wejsciowe)
Zawartość;
UWAGA!!! Nazwa funkcji musi mieć taka sama nazwe jak plik w którym się znajduje…
Wywoływanie funkcji wyglada tak:
Nazwa_funkcji(argumenty)
Tylko ze w tym wypadku jak np. będziemy mieli 2 zmienne wyjściowe to funkcja zwróci nam wartość tylko jednej, tej pierwszej, dlatego lepiej stosowac
[x,y,z…]=nazwa_funkcji(argumenty)
Wtedy funkcja zwraca tyle wartości ile chcemy… oczywiście o ile tyle wartości jest zadeklarowanych…
6.Dalsze działania na macierzach
No to lecimy z komendami…
Inv(macierz kwadratowa) - tworzy macierz odwrotną
Pinv(macierz) – macierz pseudoodwrotna
Dobra darujmy se… ja to i tak mam z kursu z neta a wiec nie będę wypisywal… mam notatki… kolegi… to z nich potem omówie dokładniej funkcje które koleś podawał na wykładach…
7.Wielomiany
Tutaj oczywiście jest kilka fajnych funkcji… a wiec zaczynamy:
Polyval(a,b) – przy zalozeniu ze „a” to jakis wektor to ta funkcja z tego wektora tworzy wielomian natomiast „b” jest to jakis punkt. Calosc podaje nam wartość funkcji „a” w punkcje „b”.
Roots(a) – Oblicza pierwiastki wielomianu (wektora) „a”
Polyder(a) – Oblicza wsuplczynniki pochodnej wielomianu „a”
Poly([miejsca_zerowe]) – czyli podajemy miejsca zerowe i otrzymujemy współczynniki wielomianu monicznego.
Conv([jeden_wielomian],[drugi_wielomian]) – podaje współczynniki iloczynu dwóch podanych wektorów.
Deconv([jeden_wielomian],[drugi_wielomian]) – podaje współczynniki iloczynu tych wielomianow i reszte z dzielenia.
6. Grafika
Podstawowa funckaj to plot(x,y)… jej 3 parametry to:
Kolor:
Z angielskiego… c – jasnoniebieski, k- czarny, m- purpurowy… a reszta normalnie…
Rodzaje linij:
„-„ ciągła
„- - „ przerywana
„:” wielopunktowa
„.-„ kropkowana
„+””x” – krzyżyki
„.” Wypełnione kółko
„o” nie wypełnione kółko
„*” gwiazdki
Hold on – blokuje wykres
Hold off – odblokowuje wykres
Plot może być wieloargumentowa czyli
Plot(x1,y1,’g-‘,x2,y2,’r-‘,…)
Można tez podzielic okno z wykresami dzieki komendzie subplot
Subplot(wiersze,kolumny,miejsce)
Warto nadawac wykresom nazwy oraz opisywac osie, służy do tego polecenie
Xlable(‘xxx’)
Ylable(‘xxx’)
Title(‘xxx’)
Rozdział 2
Uzupełnienie z wykładów
1. Qrwa znowu mi się słownik popierdlił ;/
Ooo już działa…
2. macierze i po...
wips1