abc Matlab - elektronski priručnik
II dio Osnove Matlaba kao jezika - 2.5. Tipovi nizova

2.5.2. Ćelijski nizovi

Ćelijski nizovi u Matlabu su višedimenzionalni nizovi čiji su elementi kopije drugih nizova. Ćelijski niz praznih matrica može se kreirati pomoću cell funkcije. Ali, češće, ćelijski nizovi se kreiraju zatvaranjem raznih kolekcija u vitičaste zagrade, {}. Vitičaste zagrade se takođe koriste sa indeksima da bi se pristupilo sadržaju različitih ćelija. Na primjer,

C = {A sum(A) prod(prod(A))}

proizvodi 1-sa-3 ćelijski niz. Tri ćelije sadrže magični kvadrat, vektor-red suma po kolonama, i proizvod svih njegovih elemenata. Kada se C prikaže, vidjećemo

C =
[4x4 double]    [1x4 double]       [20922789888000]

Ovo je zato što su prve dve ćelije prevelike za ispis u ovom ograničenom prostoru, ali treća ćelija sadrži samo jedan broj, 16!, tako da ima mjesta da se on ispiše.

Ovdje postoje dve važne stvari koje treba zapamtiti. Prvo, da bismo dobili sadržaj jedne od ćelija, koristimo indekse u vitičastim zagradama. Na primjer, C{1} daje magični kvadrat, a C{3} je 16!. Drugo, ćelijski nizovi sadrže kopije drugih nizova, a ne pokazivače na te nizove. Ako u skladu s tim izmijenimo A, ništa se neće desiti sa C.

Možemo koristiti trodimenzionalne nizove da spremimo sekvencu matrica iste veličine. Ćelijski nizovi mogu se koristiti za spremanje sekvence matrica različitih veličina. Na primjer,

M = cell(8,1);
for n = 1:8
M{n} = magic(n);
end
M

proizvodi sekvencu magičnih kvadrata različitog reda:

M =
[                       1]
[ 2x2       double]
[ 3x3       double]
[ 4x4       double]
[ 5x5       double]
[ 6x6       double]
[ 7x7       double]
[ 8x8       double]

Možemo dobiti 4-sa-4 matricu magičnog kvadrata sa
M{4}

Višedimenzionalni nizovi    <    Index    >    Karakteri i tekst