如何在MATLAB中使用repmat,replicate或kron等函数

时间:2012-07-19 14:15:51

标签: matlab matrix repeat

我想转换矩阵b:

b(:,:,1) =
     1
b(:,:,2) =
     3
b(:,:,3) =
     5

到矩阵c:

c(:,:,1) =
     1     1
     1     1
c(:,:,2) =
     3     3
     3     3
c(:,:,3) =
     5     5
     5     5

不使用for循环。 在矩阵c中,1x1的每个b元素都会转换为2x2块,其值与b中的对应元素相同。

2 个答案:

答案 0 :(得分:5)

你可以使用索引,这通常更快:

b([1 1],[1 1],:)

答案 1 :(得分:3)

如果我理解正确,那么:

   c = repmat(b, [2 2 1])