趣百科

MATLAB中reshape的用法

编辑:Simone 2025-04-07 12:22:35 586 阅读

MATLAB中reshape的用法

MATLAB号称矩阵实验室,我们在处理矩阵的过程中可能遇到需要对矩阵size进行变换的情况。然后MATLAB提供了一个比较好用的函数。但是刚开始用的话,我们可能会发现事与愿违,很多时候得到的结果和我们想象的并不一样。那么我们应该怎样有效利用reshape这个函数呢。

reshape是对矩阵的元素重新排列的方法,可以将3*6的矩阵转换成9*2的矩阵。

需要注意的是reshape是按列读取,然后按列摆放,所以,需要这个原则和具体的问题,进行合理的转置操作,达到效果。

所以,如果我们想将如下一个3*6的矩阵A,转换成9*2的矩阵B的话。

A=[1 2 3;

4 5 6;

7 8 9;

10 11 12;

13 14 15;

16 17 18];

B = [1 2 3 4 5 6 7 8 9;

10 11 12 13 14 15 16 17 18];

那我们就需要reshape按照行读取A中的元素,所以我们就要将A进行转置。

B=reshape(A.',9,2);

如果这样的话,我们得到的矩阵B是如下图所示矩阵,因为reshape不仅按列读取输入矩阵,还是按列排列输出矩阵。

为了得到B这个输出矩阵,我们就需要用如果语句得到B的转置,然后再进行一步转置操作得到B。

B=reshape(A.',9,2);

B = B.';

版权声明:本站【趣百科】文章素材来源于网络或者用户投稿,未经许可不得用于商用,如转载保留本文链接:https://www.qubaik.com/article/171899.html

相关推荐