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

3 matlab matrix repeat

我想转换矩阵b:

b(:,:,1) =
     1
b(:,:,2) =
     3
b(:,:,3) =
     5
Run Code Online (Sandbox Code Playgroud)

到矩阵c:

c(:,:,1) =
     1     1
     1     1
c(:,:,2) =
     3     3
     3     3
c(:,:,3) =
     5     5
     5     5
Run Code Online (Sandbox Code Playgroud)

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

Gun*_*uyf 5

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

b([1 1],[1 1],:)
Run Code Online (Sandbox Code Playgroud)