matlab - porcentajes - Diferencia entre acceder a los elementos de la celda usando llaves y paréntesis
matriz de caracteres matlab (2)
Piense en la matriz de células como una matriz homogénea regular, cuyos elementos son todos cell
s. Los paréntesis ( ()
) simplemente acceden al objeto envoltorio de cell
, mientras que el acceso a los elementos usando llaves ( {}
) da el objeto real contenido dentro de la celda.
Por ejemplo,
A={ [5,6], 0 , 0 ,0 };
Se verá así:
La sintaxis de hacer que un elemento sea igual a []
con paréntesis es en realidad una solicitud para eliminar ese elemento, por lo que cuando solicite hacer foo(i) = []
se elimina la i -ésima celda. No es una operación de asignación, sino más bien una operación RemoveElement
, que utiliza una sintaxis similar a la asignación.
Sin embargo, cuando haces foo{i} = []
estás asignando a la celda i-ésima un nuevo valor (que es una matriz vacía), borrando así el contenido de esa celda.
¿Cuál es la diferencia entre acceder a elementos en una matriz de celdas usando paréntesis ()
y llaves {}
?
Por ejemplo, traté de usar la cell{4} = []
y la cell(4) = []
. En el primer caso, establece el 4 ° elemento en []
, pero en el segundo caso anuló el elemento de celda, es decir, redujo el recuento de elementos de celda en 1.
Ver la ayuda en este enlace . Como verá, acceder con paréntesis () le proporciona un subconjunto de una celda (es decir, una subcélula), mientras que las llaves {} le proporcionan el contenido de la celda a la que está intentando acceder.