函数 reshape 的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数 reshape 的用法相关的知识,希望对你有一定的参考价值。

请问:我在MATLAB编程中遇到了一个问题,函数reshape的用法我就是没有弄明白,希望哪位高手,详细地帮忙解答一下。谢谢

1、B = reshape(A,m,n)

返回一个m*n的矩阵B, B中元素是按列从A中得到的。如果A中元素个数没有m*n个, 则会引发错误。

2、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元素个数相等。

3、B = reshape(A,...,[ ],...)

计算由占位符[ ]所表示的尺寸的长度,这样维度的乘积等价于prod(size(A))。而prod(size(A))的值必须能被指定维数的乘积所整除。在这里面占位符[ ] 只能使用一次。



扩展资料

reshape函数作为MATLAB中将指定的矩阵变换成特定维数矩阵一种函数,且矩阵中元素个数不变,函数可以重新调整矩阵的行数、列数、维数。函数语法为B = reshape(A,size)代表返回一个和A元素相同的n维数组,但是由向量size来决定重构数组维数的大小。

repmat函数与reshape函数功能比较:repmat函数主要是用于快速产生一个矩阵,它的用法一般有下面几种:B = repmat(A,M,N)矩阵B是矩阵A的复制品,其中B的维度为[size(A,1)*M,size(A,2)*N]。

参考资料来源:百度百科-reshape

参考技术A 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)
参考技术B 就是把指定的矩阵改变形状,但是元素个数不变,

例如,行向量:
a = [1 2 3 4 5 6]

执行下面语句把它变成3行2列:
b = reshape(a,3,2)

执行结果:
b =
1 4
2 5
3 6本回答被提问者采纳
参考技术C 是不是问
OpenGL
/
GLUT
方面的问题?
GLUT里
glutReshapeFunc(reshape);
定义
当窗的形状改变事件发生时
调用的处理函数
reshape。
shape
是形状。reshape
是当形状改变时,做些什么来修正窗内的图形显示。
这由程序员自己决定,例如,你可以考虑图形长宽尺度按窗的长宽变化,按比例缩放。你也可以考虑图形长宽尺度不变,....
下面是一个例子:
void
reshape(int
cur_w,
int
cur_h)

glClear(GL_COLOR_BUFFER_BIT
|
GL_DEPTH_BUFFER_BIT);
if
(cur_h
<=
0)
cur_h
=
10;
//
窗太小时处理
glViewport(0,0,
cur_w,
cur_h);
xfactor
=
(float)
glutGet(
GLUT_WINDOW_WIDTH
)
/
(float)
img_width;
//
按比例缩放
yfactor
=
(float)
glutGet(
GLUT_WINDOW_HEIGHT
)
/
(float)
img_height;
//
按比例缩放
glutPostRedisplay();
//
发送更新消息
参考技术D reshape: 可以对数组进行重组变形, Y = reshape(X,m,n) 前提条件 Y与X中所含的元素个数必须相等。则上述命令将X转为 m*n的矩阵。
A =[5 5 8 6;9 11 12 5];
B = reshape(A, 4, 2) % 4是新矩阵的列数,2是新矩阵的行数

B =

5 8

9 12

5 6

11 5

以上是关于函数 reshape 的用法的主要内容,如果未能解决你的问题,请参考以下文章

Python的reshape的用法

Tips pytorch reshape()函数的用法

MATLAB使用reshape函数的时候出了问题 要执行 RESHAPE,请勿更改元素数目.

matlab中的reshape命令?

tf用法

np.argsort()函数,model.predict函数,python中reshape