Matlab 单元数组 gaunthan Posted on Oct 29 2016 ? Matlab ? ## 介绍 Matlab中有一种特殊的数组,称为**单元数组**(Cell arrays)。单元数组的元素是其他数组的一份拷贝,这意味着单元数组可以包含许多拥有不同数据类型元素的数组。 ## 创建单元数组 ### 使用cell() 可以使用`cell()`函数创建空的单元数组:  ### 使用花括号 然而通常的创建方法是使用花括号`{}`来创建单元数组,被花括号包含着的是其它将被拷贝的数组:  上面的`sum(A)`生成一个1x4的矩阵,每一个元素是A的一列元素之和;`prod(A)`对矩阵A的每一列求乘积,然后将这些乘积组合成1x4的矩阵。 我们注意到第三个单元的内容被直接显示出来了,而不是显示"[1x1 double]"这样的东西。这是因为前两个单元太大,导致Matlab仅对内容较少的单元直接输出。 ### 从其他数组生成 Matlab提供了一些函数,这些函数能够将其他数组转化为单元数组,如`cellstr()`函数:  由于数组的每一行的长度都是相同的,因此像上图中展示的,不能直接创建拥有不同长度行的文本。借此我们可以使用`char()`函数,但使用单元数组可能是一个更好的选择,因为使用`char()`生成的数组是对空缺的位置进行了填补,这可能浪费大量空间。 ## 获取单元 由于单元数组也是数组,因此我们可以使用下标来索引这些单元:  如果想要查看这些单元的内容,要使用花括号:  单元数组可以存储大小不同的矩阵,而三维数组只能存储大小相同的矩阵。 赏 Wechat Pay Alipay Matlab 结构体数组 Matlab 命令