Avec réseaux de cellules vous avez deux méthodes d'indexation à savoir parenthèse (soit (...)
) et accolades (soit {...}
).
permet de créer un réseau de cellules à utiliser pour les exemples:
A = {3, 9, 'a';
'B', [2,4], 0};
indexation en utilisant les parenthèses renvoie une partie de la matrice de cellules AS un réseau de cellules. Par exemple
A(:,3)
retourne un 2-en-1 réseau de cellules
ans =
'a'
0
indexation en utilisant des accolades renvoient les SOMMAIRE de cette cellule, par exemple
A{1,3}
retourne un seul caractère
ans =
a
Vous pouvez également utiliser des parenthèses pour renvoyer une seule cellule, mais ce sera toujours une cellule. Vous pouvez également utiliser des accolades pour renvoyer plusieurs cellules mais celles-ci renvoient comma separated lists, ce qui est un peu plus avancé.
Lors de l'affectation à une cellule, des concepts très similaires s'appliquent. Si vous affectez à l'aide entre parenthèses, vous devez attribuer une matrice de cellulesde la taille appropriée:
A(:,1) = {1,1}
si vous attribuez une valeur unique à l'aide entre parenthèses, alors vous devez le mettre dans une cellule (c.-à-A(1) = 2
sera vous donner une erreur, donc vous devez faire A(1) = {2}
). Donc, il est préférable d'utiliser des accolades, car alors vous êtes directement affecter le contenu de la cellule. Il est donc correct d'aller
A{1} = 2
cela équivaut à A(1) = {2}
. Notez que A {1} = {2}, ce que vous avez fait, ne donnera pas d'erreur, mais ce qui est fait nicher une cellule dans votre cellule, ce qui est peu probable ce que vous recherchiez.
Enfin, si vous avez une matrice à l'intérieur de vos cellules, puis Matlab vous permet d'indexer directement dans cette matrice comme ceci:
A{2,2}(1)
ans =
3