Matlab中将矩阵转为列向量有一个42*48的矩阵A,现需要将其转为一个2016*1的列向量,请问如何转?我试了一下reshape是可以做到,但是是逐列扫描,如果是逐行扫描呢?还有什么适合的函数吗?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 09:50:37
Matlab中将矩阵转为列向量有一个42*48的矩阵A,现需要将其转为一个2016*1的列向量,请问如何转?我试了一下reshape是可以做到,但是是逐列扫描,如果是逐行扫描呢?还有什么适合的函数吗?
Matlab中将矩阵转为列向量
有一个42*48的矩阵A,现需要将其转为一个2016*1的列向量,请问如何转?
我试了一下reshape是可以做到,但是是逐列扫描,如果是逐行扫描呢?还有什么适合的函数吗?
Matlab中将矩阵转为列向量有一个42*48的矩阵A,现需要将其转为一个2016*1的列向量,请问如何转?我试了一下reshape是可以做到,但是是逐列扫描,如果是逐行扫描呢?还有什么适合的函数吗?
应该是用reshape函数吧,设矩阵A为42*48阶矩阵,B为2016*1阶矩阵:
输入 B=reshape(A,2016,1)应该就可以了
先用矩阵转置符把矩阵A转为其转置矩阵,然后再对A使用reshape函数试试看
当然如果楼主要是描述的是某个函数的过程的话,最好使用transpose函数代替矩阵转置符
假设42*48的矩阵的每一项可以用x,y表示。
Axy代表矩阵中xy坐标下的值。
x的值(1、2、3...42)
y的值(1、2、3...48)
假设2016*1的矩阵为B的每一项可以用m,n表示。
Bxy代表矩阵中xy坐标下的值。
m的值(1、2、3...2016)
n的值(1)
m/48=a....b
a为商,部位余数
全部展开
假设42*48的矩阵的每一项可以用x,y表示。
Axy代表矩阵中xy坐标下的值。
x的值(1、2、3...42)
y的值(1、2、3...48)
假设2016*1的矩阵为B的每一项可以用m,n表示。
Bxy代表矩阵中xy坐标下的值。
m的值(1、2、3...2016)
n的值(1)
m/48=a....b
a为商,部位余数
Bmn=A(a+1)b
收起
先转置,在reshape不就完了...笨