假设我有两个以下大小的矩阵:
matrix_1 = 30090x2
matrix_2 = 170x177
此处假设rows
n matrix_1
的数量代表pixels
的数量。您可以看到matrix_2
的大小等于像素数。
我要做的是map
matrix_1
中的像素matrix_2
中的像素,例如:{/ p>
matrix_1(1) = matrix_2(1)
matrix_1(2) = matrix_2(2)
matrix_1(3) = matrix_2(3)
......
......
matrix_1(n) = matrix_2(n)
我如何在matlab
中执行此操作?
答案 0 :(得分:1)
这是一个选项
matrix_1 = matrix_2(:);
复制一个长列中matrix_2
的元素(所有元素)。
在您的数据中,您说matrix_1
有两列,您可以通过执行添加另一个空列,例如
matrix_1 = [matrix_1 zeros(size(matrix_1))];
答案 1 :(得分:1)
快速方法是首先使用以下命令将矩阵转换为列向量: matrix_1 = matrix_1(:); matrix_2 = matrix_2(:);
由于两个矩阵现在具有相同的大小,因此您可以执行所需的操作。
如果需要将矩阵恢复为原始比例,可以使用reshape命令执行此操作 matrix_1 = reshape(matrix_1,30090,2)
参见以下参考资料: http://www.mathworks.com/help/matlab/ref/reshape.html