Matlab reshape 函数

来源:互联网 发布:actor模型 知乎 编辑:程序博客网 时间:2024/06/05 07:18

MATLAB主要是矩阵的操作,其中矩阵的转换方式有很多种,维度转换也是常见的应用。如n*1的矩阵转化为1*n的,当然这个直接转置就可以了,但是转化为n/2 * 2的就需要用到这里的reshape函数了。

reshape函数的原型如下:

B = reshape(A,m,n)B = reshape(A,[m n])B = reshape(A,m,n,p,...)B = reshape(A,[m n p ...])B = reshape(A,...,[],...)

A是原矩阵,m n p和...的表示各个维度的深度。

B = reshape(A,m,n)B = reshape(A,[m n])
这两个函数的实现是一样的,都是将A转化为m*n的矩阵,示例如下


这里注意MATLAB的矩阵是按照列排列的。

B = reshape(A,m,n,p,...)B = reshape(A,[m n p ...])
将reshape扩展到了多维的操作,道理还上面是一样的。就不做示例了。

B = reshape(A,...,[],...)
这个函数里面多了[],这个地方代表占位符,意思是该维深度取决于其他维度。例如:



0 0