reshape

reshape

 编辑
reshape是一种函数,函数可以重新调整矩阵的行数、列数、维数。在matlab命令窗口中键入doc reshape或help reshape即可获得该函数的帮助信息。
B = reshape(A,size)是指返回一个和A元素相同的n维数组,但是由向量size来决定重构数组维数的大小,prod(size(B))的数量值必须和prod(size(A))的保持一致。
 
外文名
reshape
类    别
计算机编程
属    于
MATLAB函数

调用格式

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

调用格式说明

编辑
B = reshape(A,m,n)
返回一个m*n的矩阵B, B中元素是按列从A中得到的。如果A中元素个数没有m*n个, 则会引发错误。
B = reshape(A,m,n,p,...)和B = reshape(A,[m n p ...])
返回一个和A具有相同元素的N(不是上面的参数n)维数组。但B的尺寸是m*n*p*...,m*n*p*...必须和prod(size(A))相等。即A和B元素个数相等。
B = reshape(A,...,[ ],...)
计算由占位符[ ]所表示的尺寸的长度,这样维度的乘积等价于prod(size(A))。而prod(size(A))的值必须能被的指定维数的乘积所整除。在这里面占位符[ ] 只能使用一次。
相关函数: shiftdim, squeeze, circshift, permuterepmat

程序示例

编辑
调整一个3*4矩阵到2*6矩阵(内容与图册相同):
A =
1 4 7 10
2 5 8 11
3 6 9 12
B = reshape(A,2,6)
B =
1 3 5 7 9 11
2 4 6 8 10 12
B = reshape(A,2,[])
B =
1 3 5 7 9 11
2 4 6 8 10 12
原文地址:https://www.cnblogs.com/xiaoxuesheng993/p/8492194.html