0

假设我有两个以下大小的矩阵:

matrix_1 = 30090x2

matrix_2 = 170x177

这里假设rowsnmatrix_1的个数代表 的个数pixels。可以看到大小matrix_2等于像素数。

我正在尝试做的是map像素中matrix_1的像素matrix_2,例如:

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

4

2 回答 2

1

这是一个选项

  matrix_1 = matrix_2(:);

它将元素(全部)复制matrix_2长列中。

在您说matrix_1有两列的数据中,您可以通过执行添加另一个空列,例如

  matrix_1  = [matrix_1 zeros(size(matrix_1))];
于 2013-05-20T15:14:20.520 回答
1

一种快速的方法是首先使用以下命令将两个矩阵转换为列向量:matrix_1=matrix_1(:); 矩阵_2=矩阵_2(:);

而且由于两个矩阵现在具有相同的大小,您可以执行所需的操作。

如果需要将矩阵恢复到原始比例,可以使用 reshape 命令 matrix_1=reshape(matrix_1, 30090,2)

请参阅以下参考: http: //www.mathworks.com/help/matlab/ref/reshape.html

于 2013-05-20T15:14:21.783 回答