matlab中reshape函数中把A中元素进行重塑成m×n×p×…的矩阵是什么意思

2025-02-23 23:18:31
推荐回答(2个)
回答1:

m×n是二维矩阵,m×n×p是三维矩阵,m×n×p×…是多维矩阵,具体是什么矩阵,看具体的问题。prod(size(A))是求矩阵A各维的乘积,也就是A矩阵中元素的个数。所以重排后矩阵元素个数必须相同,不然多出的那一个或少一个元素咋办。。。

回答2:

a = rand(2,3,4);
prod(size(a))

b = reshape(a, 4, 6);

a是一个2x3x4的矩阵,size(a)就是[2 3 4],即a的维度

prod是求向量的乘积,所以prod(size(a))就是24

这里,b是把a矩阵reshape成4x6,要求prod(size(b))也是24,即prod(size(a))和prod(size(b))必须一样。