27

()使用括号和花括号访问元胞数组中的元素有什么区别{}

例如,我尝试使用 cell{4} = []and cell(4) = []。在第一种情况下,它将第 4元素设置为[],但在第二种情况下,它清除了单元元素,也就是说,将单元元素计数减少了 1。

4

2 回答 2

67

将元胞数组视为一个规则的同质数组,其元素都是cells。括号 ( ()) 只是访问cell包装对象,而使用花括号 ( ) 访问元素{}则给出单元格中包含的实际对象。

例如,

A={ [5,6], 0 , 0 ,0 };

看起来像这样:

在此处输入图像描述

[] 使用括号使元素等于的语法实际上是删除该元素的请求,因此当您要求foo(i) = []删除第i个单元格时。它不是赋值操作,而是RemoveElement使用与赋值类似的语法的操作。

但是,当您这样做时,foo{i} = []您正在为第 i 个单元格分配一个新值(这是一个空数组),从而清除该单元格的内容。

于 2012-01-29T17:52:59.193 回答
3

请参阅此链接中的帮助。正如您将看到的,使用括号 () 访问会为您提供单元格的子集(即子单元格),而花括号 {} 则为您提供您尝试访问的单元格的内容。

于 2012-01-29T17:35:08.370 回答