help help - lista słów kluczowych
help słowo_kluczowe - opis znaczenia słowa kluczowego
demo - wykonanie polecenia zewnętrznego demo.m
exit - wyjście z MATLABa
quit - j.w.
Jedynym typem obiektu w MATLABie jest macierz prostokątna . W szczególności macierze mogą być wektorami – wierszami lub kolumnami albo skalarami. Macierze mogą być tworzone poprzez
· wprowadzanie bezpośrednio z klawiatury,
· wczytanie pliku .m ze zdefiniowaną macierzą,
· wygenerowanie przez funkcję,
· załadowanie z pliku zewnętrznego .mat.
Spacja oddziela elementy wiersza, średnik oddziela wiersze
A = [ 1 2 3; 4 5 6; 7 8 9 ]
Przecinek też oddziela elementy wiersza
A = [ 1, 2, 3; 4, 5, 6; 7, 8, 9 ]
ENTER też oddziela wiersze
A = [ 1 2 3
4 5 6
7 8 9 ]
Zauważmy, że nie potrzeba deklarować rozmiaru macierzy.
A = [ X Y; Z ] - oznacza macierz , wymiary muszą się zgadzać.
A = [ A; [ 10 11 12 ] ] - dodaje do A wiersz [ 10 11 12 ]
A = [] - przyporządkowuje A macierz pustą
A(1, 2) - odwołanie do elementu macierzy o indeksie (1, 2)
Jeśli A = [ 1 2 ], to przypisanie A(5) = 5 spowoduje odpowiednie zwiększenie wymiaru A i uzupełnienie zerami: A = [ 1 2 0 0 5 ].
A = J:K - wektor-wiersz z liczbami od J do K, pusty, jeśli J > K (dwukropek oznacza tu “od – do”)
A = J:I:K - wektor-wiersz z liczbami od J do K z przyrostem I (przyrost może być do-datni lub ujemny)
A(:,J) - J-ta kolumna A (dwukropek oznacza tu “wszystkie indeksy”)
A(1:5,3) - macierz wymiaru 5x1 utworzona z pierwszych pięciu elementów trzeciej kolumny A.
Załóżmy, że A ma wymiar nxn:
A(1:5,n-3:n) - macierz 5x4 utworzona z pierwszych pięciu wierszy ostatnich czterech kolumn.
A(1:5,:) - pierwszych pięć wierszy macierzy A.
Ogólnie, jeśli v, w – wektory o składowych całkowitych, to A(v, w) oznacza macierz o elementach A z wierszy o indeksach równych kolejnym składowym wektora v, (tzn. po-numerowanych według wektora v) i z kolumn ponumerowanych według elementów we-ktora w.
Przykłady:
A(: ,n:-1:1) - przestawia kolumny A
A(:, [ 3 5 10 ]) = B(:,1:3) - zamienia trzecią, piątą i dziesiątą kolumnę A pierwszymi trzema kolumnami B.
A([ 1,5 ],:) = A([ 5, 1 ],:) - wymienia wiersz pierwszy z piątym macierzy A
A(:,[ 2 4 ]) = [] - usuwa drugą i czwartą kolumnę z macierzy A
B = A(:) - wszystkie elementy A układane są w jeden wektor kolumnowy B
A(:) = B - operacja odwrotna, B jest wektorem-kolumną, macierz A (musi wcześniej istnieć) wypełnia się elementami B.
Jeżeli L jest wektorem długości m o elementach zero lub jeden, A – macierzą wymiaru nxn, to A(L,:) wybiera wiersze A o numerach, dla których składowa L jest różna od 0.
Należy najpierw zdefiniować jednostkę urojoną, np.
i = sqrt(-1)
a następnie można tworzyć macierze zespolone, np.
A = [ 1 2; 3 4 ] + i*[ 5 6; 7 8 ]
lub
A = [ 1+5*i 2+6*i; 3+7*i 4+8*i ]
(uwaga na spacje!).
A+B - dodawanie, macierze muszą mieć te same wymiary. Jeżeli jednym z operandów jest skalar, to jest dodawany do wszystkich elementów macierzy.
Analogiczne zasady obowiązują dla:
A-B - odejmowania
A*B - mnożenia
A’ - transponowanie (z zamianą elementów na sprzężone)
Operacje potęgowania to:
A^p oraz p^A (A – macierz kwadratowa, p-skalar)
A\B = inv(A)*B - jeśli A kwadratowa i nieosobliwa
B/A = B*inv(A) - A kwadratowa i nieosobliwa
Obliczanie wykonywane jest bez odwracania przez rozwiązanie układu A*X = B lub X*A = B. A\B jest wiec określone jeśli B ma tyle wierszy co A. Jeśli A jest kwadratowa, używana jest metoda eliminacji Gaussa z odpowiednim komunikatem w przypadku osobliwości A. Jeśli A prostokątna, używana jest metoda najmniejszych kwadratów do “rozwiązania” odpowied-niego układu równań. Wynikiem jest macierz X wymiaru mxn, gdzie m – liczba wierszy A, n – liczba kolumn B.
B/A = (A’\B’)’
Poprzedzając symbol operacji kropką “.” zamieniamy ją na operację typu “element-element”:
A .* B - A i B tego samego wymiaru, mnożenie odbywa się metodą “element A * odpowiedni element B”
A .\ B, A ./ B - dzielenie
A .^ B - potęgowanie, np. 2 .^ [ 1 2 3 4 ] daje wektor [ 2 4 8 16 ]. Uwaga: ważna jest spacja po “2” aby odróżnić “.^” od “2.”
A .’ - transponowanie bez sprzęgania.
A < B - porównuje pary elementów macierzy A i macierzy B (tych samych wymiarów) dając w wyniku macierz 0-1 (0 – fałsz, 1 – prawda ). Można dokonywać porównań przy użyciu operatorów: <=, >, >=, ==, ~=, (~ - not).
Przykład: eliminacja z wektora X elementów przekraczających trzykrotne odchylenie standardowe:
X = X(X <= 3*std(X))
(patrz również usuwanie wektorów zero-jedynkowych).
Do dyspozycji mamy trzy operatory logiczne:
& - and, | - or, ~ - not.
Działając na kolejnych parach elementów macierzy A oraz B zwracają macierz zero-jedynkową będącą wynikiem danej operacji logicznej (jako TRUE traktowana jest każda liczba różna od zera).
A | (~A) - macierz “jedynek”
A &(~A) - macierz “zer”.
Instrukcja
s = ‘Hello’
daje w wyniku wektor-wiersz s pamiętany jako kody ASCII poszczególnych liter. Jest traktowany jako normalny wektor, z tym że podczas wyświetlania instrukcją disp pokazują się litery zamiast liczb. Z każdą zmienna związany jest bowiem indeks mówiący, czy ma być wyświetlana jako tekst czy liczba.
t = abs(s) powoduje zmianę indeksu w ten sposób, że wektor t będzie wyświetlany jako liczby (kody ASCII).
t = setstr(t) zamienia indeks z powrotem na tekstowy.
isstr(t) = 1 jeśli t jest tekstem, 0 w przeciwnym przypadku.
t = num2str(x) zamienia skalar x na jego tekstową reprezentację, ok. 4 cyfry po przecinku, wygodne do etykietowania osi.
t = sprintf(‘format’, x, y, z) – bezpośrednia kontrola nad formatem wyjściowym tekstu t. Specyfikatory formatu: %d %e, %f, %g. Działa podobnie...
jerzyrud