matlab中reshape(18:-1:1,3,3,2)命令中的18:-1:1,3,3,2分别都是什么意思?萌新一枚,希望大神给讲解一下。

2025-06-26 08:42:45
推荐回答(2个)
回答1:

就是把18 17 16 ……一直到1这18个数字填入两个3*3的矩阵中,后面的3,3,2就是这个意思。
怎么填入呢,先填第一个矩阵,从第一列开始填入,然后是第二列,最后第三列。
比如说:a=reshape(18:-1:1,3,3,2);
那么意味着这两个3*3的矩阵分别是
a(1:3,1:3,1)=[18,15,12; 17,11,14; 16,13,10]
a(1:3,1:3,2)=[9,6,3; 8,5,2; 7,4,1]

回答2:

函数格式:
B = reshape(A,sz1,...,szN)
18:-1:1就是A,
3 3 2就是sz1 sz2 sz3
意思就是:将数组18:-1:1,变成一个3X3X2的三维矩阵。
觉得有帮助就采纳吧。