Think of cell array as a regular homogenic array, whose elements are all cell
s. Parentheses (()
) simply access the cell
wrapper object, while accessing elements using curly bracers ({}
) gives the actual object contained within the cell.
For example,
A={ [5,6], 0 , 0 ,0 };
Will look like this:
The syntax of making an element equal to []
with parentheses is actually a request to delete that element, so when you ask to do foo(i) = []
you remove the i-th cell. It is not an assignment operation, but rather a RemoveElement
operation, which uses similar syntax to assignment.
However, when you do foo{i} = []
you are assigning to the i-th cell a new value (which is an empty array), thus clearing the contents of that cell.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…