Mátrixok méretének átalakítása
Méret átalakítása
Mátrixok méretét a reshape() függvénnyel lehet megváltoztatni. Ebben az esetben a mátrix elemszáma nem változik. Amennyiben az eredmény mátrix elemszáma nem egyezik meg az eredeti mátrix elemszámával, a rendszer hibát jelez. Fontos megjegyezni, hogy a reshape() függvény az elemeket oszlopfolytonosan veszi sorra az átrendezésnél.
Példák:
>> A = [1, 2, 3, 4; 5, 6 7, 8; 9, 10, 11, 12]
A =
1 2 3 4
5 6 7 8
9 10 11 12
>> B = reshape(A, 4,3)
B =
1 6 11
5 10 4
9 3 8
2 7 12
>> C = reshape(A, 4,4)
Error using reshape
To RESHAPE the number of elements must not change.
Mátrixok konkatenációja
Mátrixok konkatenációján a mátrixok összefűzését értjük. A konkatenációnak háromféle változata létezik:
- horizontális (a horzcat() függvénnyel is megvalósítható)
- vertikális (a vertcat() függvénnyel is megvalósítható)
- mindkét irányú
Vertikális konkatenáció
>> A = [ 1, 2, 3, 4; 5, 6, 7, 8 ]
A =
1 2 3 4
5 6 7 8
>> B = [ A; A + 12 ]
B =
1 2 3 4
5 6 7 8
13 14 15 16
17 18 19 20
Megjegyzés: Vegyük észre, hogy a B mátrix felső részmátrixa (1. és 2. sor) megegyezik az A mátrixszal, míg az alsó részmátrix (3. és 4. sor) az A mátrix elemeinek 12-vel megnövelt értékét tartalmazza.
Horizontális konkatenáció
>> C = [ A, A + 12 ]
C =
1 2 3 4 13 14 15 16
5 6 7 8 17 18 19 20
Megjegyzés: Vegyük észre, hogy a B mátrix baloldali részmátrixa (1-4. oszlop) megegyezik az A mátrixszal, míg a jobboldali részmátrix (5-8 oszlop) az A mátrix elemeinek 12-vel megnövelt értékét tartalmazza.
Kétirányú konkatenáció
>> D = [ A, A + 12; A + 4, A + 8 ]
D =
1 2 3 4 13 14 15 16
5 6 7 8 17 18 19 20
5 6 7 8 9 10 11 12
9 10 11 12 13 14 15 16
Megjegyzés: Vegyük észre, hogy ez a fajta művelet az előző kettő kombinációja.