reshape 函数怎样用?
reshape 函数就是变换成特定维数的矩阵。语法是 A = reshape(A,m,n); 或者 A = reshape(A,[m,n])。都是将A 的行列排列成m行n列。
用法举例说明如下:
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】
reshape是一种函数,函数可以重新调整矩阵的行数、列数、维数。在matlab命令窗口中键入doc reshape或help reshape即可获得该函数的帮助信息。
B = reshape(A,size)是指返回一个和A元素相同的n维数组,但是由向量size来决定重构数组维数的大小,prod(size(B))的数量值必须和prod(size(A))的保持一致。
扩展资料:
调用格式
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, permute, repmat
参考资料:百度百科——reshape
reshape 函数有以下五种调用形式:
1、B = reshape(A,m,n)
2、B = reshape(A,m,n,p,...)
3、B = reshape(A,[m n p ...])
4、B = reshape(A,...,[ ],...)
5、B = reshape(A,size)
reshape是一种函数,函数可以重新调整矩阵的行数、列数、维数。
扩展资料:
reshape 函数就是变换成特定维数的矩阵,是按照列的顺序进行转换的,也就是第一列读完,读第二列。
具体例子:
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]
参考资料:百度百科:reshape 函数
例如,行向量:
a = [1 2 3 4 5 6]
执行下面语句把它变成3行2列:
b = reshape(a,3,2)
执行结果:
b =
1 4
2 5
3 6
若a=[1 2 3
4 5 6
7 8 9]
使用reshpe后想得到b=[1 2 3 4 5 6 7 8 9]
只需要将a转置一下就可以了:
b=reshape(a',1,9)
例如,行向量:
a = [1 2 3 4 5 6]
执行下面语句把它变成3行2列:
b = reshape(a,3,2)
执行结果:
b =
1 4
2 5
3 6
A=[1 2 3 4 5 6]
reshape(A,2,3)
就是把A的元素排成2行3列
1 3 5
2 4 6