
Změna struktury matice
V MATLABu je možné měnit strukturu již existujícím objektům, např. přeskládat matici do matice jiných rozměrů. Příkazem B = reshape(A, m, n) lze po sloupcích přeskládat matici A do matice B o m řádcích a n sloupcích. Obě matice A i B musí mít stejný počet prvků, v opačném případě příkaz skončí chybovým hlášením.
Pokud bychom chtěli matici přeskládat po řádcích, museli bychom nejdřív matici transponovat a nakonec opět transponovat celý příkaz.
Překlopit matici, tj. obrátit pořadí řádků, resp. sloupců, je možné provést příkazem flipud(), resp. fliplr(). Matici lze „otočit“ o 90 stupňů proti směru hodinových ručiček příkazem rot90(), přičemž další nepovinný parametr udává, kolikrát má být rotace provedena.
Jedním z dalších příkazů, které využívají dvojtečku, je A(:). A(:) na pravé straně přiřazovacího příkazu označuje všechny sloupce matice A seskládané do jednoho dlouhého sloupcového vektoru.
Pokud již matice A existuje, lze A(:) použít i na levé straně přiřazovacího příkazu ke změně tvaru nebo velikosti matice.
Potom A(:) označuje matici se stejnými rozměry jako matice A, prvky za přiřazovacím příkazem jsou do matice A umisťovány po sloupcích. Tato operace je zahrnuta ve funkci reshape().
>> A(:) = 11:16 změní šestiprvkový řádkový vektor 11:16 na matici stejných rozměrů jako A, tj. 3 |