1.概念

Matlab中具有多于两个维度的数字阵列被称为多维数组;

多维数组是普通二维矩阵的扩展;

下面以三维数组说明(四维以上的数组同理);

如图,为3*3*2的三维数组(维度名称分别为行、列、页面)

matlab和python 数组维度 matlab数组的维度_算法

三维数组

程序示例:

>> a=[1 2 3;4 5 6;7 8 9]

>> b=[11 12 13;14 15 16;17 18 19]

>> c=a

>>c(:,:,2)=b  %c是一个三维数组,第一个页面元素是a,第二个页面元素是b

2.显示方式

高维数组有多个维度,在Matlab命令行窗口显示数据只能是二维数字阵列,因此,高维数组的显示方式是,分离成若干个二维阵列,一个一个的显示;

程序示例:

>> c %上面定义的变量c,回车运行,显示如下:

c(:,:,1)=

     1 2 3

     4 5 6

     7 8 9

c(:,:,2)=

     11 12 13

     14 15 16

     17 18 19

3.索引方式

多维数组的索引方式与矩阵索引方式一致,只是索引数量变多了,矩阵索引请参考文章:Matlab自学笔记六:矩阵索引的概念、下标索引、线性索引、逻辑索引

程序示例:

>> c %上面定义的变量c

>> c(1,[1 2],2)  %下标索引,返回[11 12](此处不明白可留言交流)

>> c(2,3)  %返回6

4.大小和维度

多维数组的数组特征(大小、维度等)与矩阵的用法一致,矩阵的特征属性请参考文章:Matlab自学笔记五:创建矩阵、矩阵大小、维度、数目、空矩阵、标量、向量、数字序列

程序示例:

>> c %上面定义的变量c

>> ndims(c)  %维度:3维

>> size(c)  %大小:3 3 2

5.创建高维数组的常用函数

创建多维数组的常用函数与创建矩阵的常用函数用法一致,同样参考自学笔记五;

程序示例:

>> zeros(2,2,2)  %创建2*2*2三维全0数组

>> repmat(10,[2 2 2 3])  %平铺复制:2*2*2*3的四维全10数组

6.维度简化

把不必要的维度压缩简化,从而把高维数组变成低维数组,方便编程和运算;

程序示例:

>> x=ones(2,2,1,1,1,2,1)  %七维全1数组:第1、2、6维度大小为2

>> squeeze(x)  %维度简化:返回2*2*2的三维全1数组