胞元数组(cell Arry)的基本组分是胞元(cell),每个胞元本身在数组中是平等的,只能以下标区分。胞元可以存放任何类型、任何大小的数组,如任意维数值数组、字符串数组、符号对象等,而且同一个胞元数组中各胞元中的内容可以不同。与数值数组一样,胞元数组维数不受限制,可以一维、二维或更高维,不过一维胞元数组用得最多;胞元数组对胞元的编址方法也有单下标编址和全下标编址两种。本文讲解一下胞元数组的创建,以及简单用法。


1. 产生数据

在创建胞元数组之前我们先用指令产生不同大小、不同类型的数据,以备后面创建胞元数组使用。具体创建代码及结果如下图所示:

blob.png

图1

2.创建胞元数组

对胞元数组来说,在胞元数组中,胞元胞元内容是两个不同范畴的东西。因此,寻访胞元和寻访胞元中的内容是两种不同的操作。“胞元标识(cell Indexing)”:以二维胞元数组A为例,A(2,3)是指A胞元数线中的第2行第3列胞元元素;“胞元内容编址(Content Addressing)”:    如A{2,3}是指A胞元数组第2行第3列胞元中所允许存放的内容。注意,这两者的以别仅在于所用的括号不同。“外标识的胞元元素”用的是“圆括号”,而“编址胞元元素内涵”用的是“花括号”。下面我们就演示创建胞元数组方法之一,具体代码如下:

blob.png

图2

3.胞元的援引

    这里要援引胞元时用的是胞元标志,及此时用的是“圆括号”,具体方法如下。从图上我们可以看出用“圆括号”时,援引的是B胞元数组中的第2行第3列胞元元素,而不是第2行第3列胞元存放的内容。而且数据类型为“胞元”。

blob.png

图3

4.胞元内容的援引

这里我们援引胞元内容,即使用的是“花括号”。此时援引的是存放在B胞元数组中的第2行第3列胞元的具体内容。下面我们看一下援引胞元内容的具体结果,具体的代码和援引结果请看下图所示:

blob.png

图4

5.用法小结:

           1.第二步是创建胞元数组的方法之一,常用于创建小型胞元数组。

    2.“圆括号”援引的是胞元,所以a是“cell”型;“花括号”援引的是胞元内容,所以b是“双精度double”型。

    3.胞元数组更有效地创建方法是,借助cell指令预定义胞元空数组。