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.