1.概念
Matlab中具有多于两个维度的数字阵列被称为多维数组;
多维数组是普通二维矩阵的扩展;
下面以三维数组说明(四维以上的数组同理);
如图,为3*3*2的三维数组(维度名称分别为行、列、页面)

程序示例:
>> a=[12 3;45 6;78 9]
>> b=[111213;141516;171819]
>> c=a
>>c(:,:,2)=b %c是一个三维数组,第一个页面元素是a,第二个页面元素是b
2.显示方式
高维数组有多个维度,在Matlab命令行窗口显示数据只能是二维数字阵列,因此,高维数组的显示方式是,分离成若干个二维阵列,一个一个的显示;
程序示例:
>> c %上面定义的变量c,回车运行,显示如下:
c(:,:,1)=
12 3
45 6
78 9
c(:,:,2)=
111213
141516
171819
3.索引方式
多维数组的索引方式与矩阵索引方式一致,只是索引数量变多了,矩阵索引请参考文章:Matlab矩阵索引详解:下标索引、线性索引、逻辑索引、超出报错
程序示例:
>> c %上面定义的变量c
>> c(1,[12],2)%下标索引,返回[1112](此处不明白可留言交流)
>> c(2,3)%返回6
4.大小和维度
多维数组的数组特征(大小、维度等)与矩阵的用法一致,矩阵的特征属性请参考文章:Matlab创建矩阵、矩阵大小、维度、空矩阵、向量、创建矩阵的函数
程序示例:
>> c %上面定义的变量c
>> ndims(c)%维度:3维
>> size(c)%大小:33 2

5.创建高维数组的常用函数
创建多维数组的常用函数与创建矩阵的常用函数用法一致,同样参考这篇文章:Matlab矩阵索引详解:下标索引、线性索引、逻辑索引、超出报错
程序示例:
>> zeros(2,2,2)%创建2*2*2三维全数组
>> repmat(10,[22 23])%平铺复制: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入门:1.14多维数组
End
免责声明:文章内容来自互联网,本站仅提供信息存储空间服务,真实性请自行鉴别,本站不承担任何责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:Matlab扫盲小短篇8:多维数组、高维数组、索引方法、程序示例(matlab如何进行多元函数拟合) https://www.bxbdf.com/a/70064.shtml