matlab 三维矩阵 reshape,matlab中的reshape及3D数组reshape的注意事项转载

本文详细介绍了MATLAB中三维矩阵reshape的操作方法,包括3D数组的本质——列优先,行,页的顺序,以及reshape函数在处理3D数组时的规则。举例说明了如何重塑2D和3D数组,同时提到了其他与3D数组相关的函数,如repmat、cat和squeeze等,帮助理解多维数组的创建和操作。
摘要由CSDN通过智能技术生成

对于2D及1D数组,reshape的应用较为直观。只要记着matlab中矩阵的存放是按列进行的就行了。

如a=1:8;b=reshape(a,2,4),这b为

1 3 5 7

2 4 6 8

目前在科研中,3D数组的使用也是很多的。对于3D数组,就不像2D数组那么直观了。

但是,其实本质一样:列优先,然后行,最后页。

而b(1,2,3)其中,1指(纵向),即第一行;2指列(横向),即指第二列;3指页,及第三页。

对应于地幔对流软件Citcom,其存储格式为z方向,x方向,y方向

故,其对应的3D数组的格式应为:

b(nz,nx,ny)

例如:对于多维数组,如b(:,:,1)=[1,2;3,4],b(:,:,2)=[5,6;7,8],

则b的存放是1,3,2,4,5,7,6,8。

同理,矩阵的写入也是按列来的,对于这个2*2*2的矩阵b,reshape(b,2,4),那么就是把存放的1,3,2,4,5,7,6,8按列写入新的2*4矩阵,结果就是[1,2,5,6;3,4,7,8]。

下面再给出一写3D数组的介绍:

1.一个三维数组由行、列和页三维组成,其中每一页包含一个由行和列构成的二维数组。

2.三维数组 A=zeros(4,3,2) 是一个4行3列2页的三维全0数组。

3.利用直接索引方式生成多维数组

A=zeros(2,3) A(:,:,2)=ones(2,3) A(:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值