Matlab中将矩阵转为列向量有一个42*48的矩阵A,现需要将其转为一个2016*1的列向量,请问如何转?我试了一下reshape是可以做到,但是是逐列扫描,如果是逐行扫描呢?还有什么适合的函数吗?
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/11 19:14:25
![Matlab中将矩阵转为列向量有一个42*48的矩阵A,现需要将其转为一个2016*1的列向量,请问如何转?我试了一下reshape是可以做到,但是是逐列扫描,如果是逐行扫描呢?还有什么适合的函数吗?](/uploads/image/z/1488847-31-7.jpg?t=Matlab%E4%B8%AD%E5%B0%86%E7%9F%A9%E9%98%B5%E8%BD%AC%E4%B8%BA%E5%88%97%E5%90%91%E9%87%8F%E6%9C%89%E4%B8%80%E4%B8%AA42%2A48%E7%9A%84%E7%9F%A9%E9%98%B5A%2C%E7%8E%B0%E9%9C%80%E8%A6%81%E5%B0%86%E5%85%B6%E8%BD%AC%E4%B8%BA%E4%B8%80%E4%B8%AA2016%2A1%E7%9A%84%E5%88%97%E5%90%91%E9%87%8F%2C%E8%AF%B7%E9%97%AE%E5%A6%82%E4%BD%95%E8%BD%AC%3F%E6%88%91%E8%AF%95%E4%BA%86%E4%B8%80%E4%B8%8Breshape%E6%98%AF%E5%8F%AF%E4%BB%A5%E5%81%9A%E5%88%B0%EF%BC%8C%E4%BD%86%E6%98%AF%E6%98%AF%E9%80%90%E5%88%97%E6%89%AB%E6%8F%8F%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%98%AF%E9%80%90%E8%A1%8C%E6%89%AB%E6%8F%8F%E5%91%A2%EF%BC%9F%E8%BF%98%E6%9C%89%E4%BB%80%E4%B9%88%E9%80%82%E5%90%88%E7%9A%84%E5%87%BD%E6%95%B0%E5%90%97%EF%BC%9F)
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不就完了...笨