Co zawiera?
Wstęp - podstawy o macierzach
MATrix LABoratoty jest programem w którym większość operacji wykonuje się na macierzach. Dlatego też w pierwszej kolejności należy nauczyć się jak zapisywać macierze, oraz jakie działania można na nich wykonywać.
Macierz zapisujemy w nawiasach kwadratowych [ ], oddzialając średnikiem wiersze, a spacją lub przecinkiem wyrazy w wierszu. Zatwierdzamy poprzez enter.
A = [1 2 4; 2 6 7; 3 5 1] %zapis macierzy A (w ten sposób w MATLABie zapisuje się komentarz)
A =
1___2___4
2___6___7
3___5___1 %odpowiedź
- macierz A
O = inv(A) %komenda wyznaczająca macierz odwrotną O macierzy A
O =
1.2609 __-0.7826__
0.4348
-0.8261__0.4783 __-0.0435
0.3478 __-0.0435__-0.0870
%odpowiedź - macierz O
T = A' %komenda zamieniająca wiersze z kolumnami macierzy A, czyli wyznaczająca macierz transponowaną D macierzy A
T =
1 __2
__3
2 __6__ 5
4 __7 __1 %odpowiedź
- macierz T
Operacje matematyczne na macierzach
Operacja
matematyczna
|
Objaśnienie
|
A + B
|
Dodawanie macierzy
A do B, obydwie macierze muszą posiadać te same wymiary
Można dodać wielkość skalarną do dowolnej macierzy |
A - B
|
Odejmowanie
macierzy A do B, obydwie macierze muszą posiadać te same wymiary
Od dowolnej macierzy można odjąć wielkość skalarną |
A * B
|
Mnożenie macierzy A przez B. Liczba kolumn macierzy A musi być równa liczbie wierszy macierzy B. Można mnożyć macierz przez skalar. Wtedy każdy element macierzy zostaje przemonożony przez skalar. |
A .* B
|
Mnożenie odpowiednich elementów macierzy A i macierzy B. Macierze A i B muszą mieć ten sam wymiar |
A / B
|
Mnożenie macierzy A przez macierz odwrotną B (macierz odwrotna to inv(B)), aby wykonać taką operację macierz B musi być macierzą kwadratową) |
A ./ B
|
Mnożenie poszczególnych elementów macierzy A i macierzy odwrotnej B. A i B muszą mieć te same wymiary. |
A \ B
|
Mnożenie macierzy odwrotnej A przez macierz B |
A .\ B
|
Mnożenie poszczególnych elementów macierzy odwrotnej A i macierzy B. A i B muszą mieć te same wymiary. |
A ^ p
|
Podniesienie macierzy A do potęgi p, np.: A^2 = A*A |
A .^ p
|
Podniesienie do potęgi p każdego elementu macierzy A |
Wektory
Wektory tworzymy tak samo jak macierze. Wektor poziomy N = [2 4 8] oddzielając wyrazy w wierszu spacją, natomiast pionowy M = [2; 4; 8] oddzialając wyrazy średnikiem
Można również wygenerować wektor:
- podając pierwszy i ostatni element oraz wartość skoku. X = [1:0.5:4]
- wykorzystując funkcję linspace: Y = linspace(3,14,17). Wektor Y będzie zawierać 17 elementów od jedynki do czternastki z odstępami liniowymi
- wykorzystując funkcję logspace: Z = logspace(1,2,8). Wektor Z będzie zawierać 8 elementów od 10^1 do 10^2 z odstępami logarytmicznymi.
Macierze
1. 'Wyciąganie' fragmentów macierzy
Gdy mamy macierz A, która składa się z N wierszy i M kolumn, możemy wyciągać z niej interesujące nas fragmenty:
- pojedynczy wyraz a35 = A(3,5) %z trzeciego wiersza w piątej kolumnie
- wiersz N = A(4,1:M) %cały czwarty wiersz
- kolumnę M = A(1:N,7) %cała siódma kolumna
- fragment macierzy B = A(1:4,3:6) %wiersze od 1 do 4 oraz kolumny od 3 do 6
2. Generowanie macierzy
Komendą zeros(n,m) wygenerujemy macierz, o n wierszach i m kolumnach, składającą się z samych zer. Komendą ones(n,m) wygenerujemy macierz n x m składającą się z jedynek. Komendą rand(n,m) wygenerujemy macierz o wyrazach podlegających rozkładowi jednostajnemu. Komendą randn(n,m) wygenerujemy macierz o wyrazach podlegających rozkładowi normalnemu.
3. Jeszcze jeden sposób na skonstruowanie macierzy - 'sklejanie'
A = [2 4 6 ; 2 8 1];%wprowadzamy macierz A - dwa wiersze i trzy kolumny
B = [3 ; 5]; %wprowadzamy macierz B - dwa wiersze i jedna kolumna
C = [3 5 1 9 ; 2 6 1 9 ]; %wprowadzamy macierz C - dwa wiersze i cztery kolumny
D = [A B ; C] %konstruujemy macierz D
D =
2 __4
__6__ 3
2__ 8__ 1__
5
3 __5__ 1__
9
2 __6__ 1__
9 %odpowiedź - macierz D
Komendą E = sum(D) możemy zsumować wyrazy w kolejnych kolumnach macierzy D. Otrzymamy wtedy wektor E = [9 23 9 26].
Gdy chcemy usunąć drugą kolumnę z macierzy D, piszemy: D(:,2)=[ ], jeśli chcemy usunąć trzeci wiersz D(3,:)=[ ].
4. Obliczanie wyznaczników, wyznaczenie równania własnego oraz wartości własnych macierzy
Do wyliczenia wyznacznika gółwnego macierzy służy komenda det
W = det(D) %obliczamy wyznacznik macierzy D
W = - 270 %odpowiedź
Do tego aby wyznaczyć równanie charakterystyczne macierzy D, musimy najpierw macierz D przedstawić jako obiekt symboliczny - to tego służy komenda sym, a następnie wykorzystać komendę poly
R = poly(sym(D)) %wyznaczamy równanie charakterystyczne
R = x^4-20*x^3+49*x^2+81*x-270 %odpowiedź
v = eig(D) %wyznaczamy wartości własne macierzy D.
v =
16.8663
-2.1444
2.6390 + 0.7075i
2.6390 - 0.7075i %odpowiedź