Matlab中reshape用法详解
帮助文档里用法如上图
1.A代表要转换的矩阵,m,n代表二维数组中行和列。
B=reshape(A,m,n)和B=reshape(A,[m n])这两种用法效果是一样的都是将A转换成m行n列的二维数组。
如果仅仅知道要转换后的行或者列也可以用占位符代替其中一个:B=reshape(A,m,[]),B=reshape(A,[],n)。
实例:A=[1,2,3,4,5,6,7,8,9,10,11,12],A的大小是12,假设我们需要转成3×4的B表示如下
用B=reshape(A,3,4)我们发现输出结果并非想象的而是:
原因是这里reshape是按列存。
想要得到理想结果可以这么写B=reshape(A,4,3)‘把行列互换位置最后加上转置。
2.如果要转换成更高维数组在m,n后面加上数字即可如B=reshape(A,3,2,2)