Как использовать такие функции, как repmat, replicate или kron в MATLAB

Я хочу преобразовать матрицу b:

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

к матрице с:

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 ответа

Решение

Вы можете просто использовать индексацию, которая обычно быстрее:

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

Если я вас правильно понимаю, то:

   c = repmat(b, [2 2 1])
Другие вопросы по тегам