在单列中转换矩阵

2,299次观看(过去30天)
盖太诺Sciacovelli
盖太诺Sciacovelli 2012年4月18日
编辑: 图像分析 2022年7月14日
嗨,我要转换一个列向量中的矩阵它由原始矩阵的所有列组成。我该怎么做呢?谢谢
5个评论
图像分析
图像分析 2020年4月9日
你说"我必须转换一个矩阵在一个列向量中由原始矩阵的所有列组成"我以为你的意思是你有一个列向量并且必须将它转换成一个矩阵它的列数与列向量的原矩阵相同。换句话说,我以为你的意思是“我必须转换一个列向量的矩阵 成一个 由原矩阵的所有列组成"
看到你接受的答案,你的意思似乎是“我必须转换一个矩阵 由原矩阵的所有列组成的一列向量"省略一些看似微不足道的单词会完全改变对问题的理解,它们在句子中的位置也会改变。

登录发表评论。

接受的答案

安德烈Bobrov
安德烈Bobrov 2012年4月18日
yourvector = yourmatrix (:);
10评论
图像分析
图像分析 2022年7月14日
编辑:图像分析 2022年7月14日
@rishika yadav 您可以使用 interp2 插值不同的高度:
M =重塑(1:18,[],3)创建6行* 3列的示例数据
[oldHeight, columns] = size(m)
通过插值使矩阵变高。
newHeight = 8;
[xq,yq] = meshgrid(1:columns, linspace(1, oldHeight, newHeight));
mTaller = interp2(m, xq, yq)
流(' mTaller的大小为%d行* %d列。\n\n', size(mTaller, 1), size(mTaller, 2))
通过插值使矩阵变高。
newHeight = 3;
[xq,yq] = meshgrid(1:columns, linspace(1, oldHeight, newHeight));
mshort = interp2(m, xq, yq)
流(' mshort的大小是%d行* %d列。\n', size(mshort, 1), size(mshort, 2))
第一行/顶部行和最后一行/底部行将具有相同的值,更多或更少的行将插入顶部行和底部行之间,以便您获得新的期望高度。

登录发表评论。

更多的答案(4)

图像分析
图像分析 2012年4月18日
如果列向量“由原始矩阵的所有列组成”,那么使用重塑()命令将其从列向量转换回原始的2D矩阵。
matrix2D =重塑(columnVector, [rows columns]);
(相反,首先如何获得列向量(您可能已经做了什么来获得您的向量)是通过以下columnVector = fullMatrix(:)来完成的。)
7评论
詹姆斯Tursa
詹姆斯Tursa 2019年10月25日
请张贴一个新的问题与您的问题的细节。

登录发表评论。


库里尔•考夫曼
库里尔•考夫曼 2020年4月26日
更多算法解决方案:
%从矩阵到向量
N = 10;
mat1 =兰德(N);
vec1 = 0 (N * N, 1);
i = 1: N
j = 1: N
vec1((i-1)*N + j) = mat1(i,j);
结束
结束
%从向量到矩阵
N = 10;
vec2 =兰德(N * N, 1);
mat2 = 0 (N);
i = 1: N
j = 1: N
mat2(i,j) = vec2((i-1)*N + j);
结束
结束

里侯赛因
里侯赛因 2016年12月15日
Columnvector =matrix(:)这个工作很好

阿米尔KHFAGI
阿米尔KHFAGI 2020年3月23日
嗨,我要在matlab中把一个列向量转换成一个矩阵。我该怎么做呢?

世界杯预选赛小组名单社区寻宝

在MATLAB中央找到宝藏,并发现社区可以如何帮助你!世界杯预选赛小组名单

开始狩猎!

Baidu
map