1.概念
Matlab中具有多于两个维度的数字阵列被称为多维数组;
多维数组是普通二维矩阵的扩展;
下面以三维数组说明(四维以上的数组同理);
如图,为3*3*2的三维数组(维度名称分别为行、列、页面)
三维数组
程序示例:
>> 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数组
上一篇:
Matlab自学笔记七:矩阵元素的合并、连接、提取、翻转、排序、平铺复制、提取对角线元素
End