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
|