Повторите копии массива
Чтобы создать блочные массивы путем формирования тензорного продукта входа с массивом таковых, используйте kron
. Для примера сложить вектор-строку A = 1:3
в четыре раза вертикально можно использовать B = kron(A,ones(4,1))
.
Чтобы создать блочные массивы и выполнить двоичную операцию за один проход, используйте bsxfun
. В некоторых случаях, bsxfun
обеспечивает более простое и эффективное решение для памяти. Для примера добавить векторы A = 1:5
и B = (1:10)'
для создания массива 10 на 5 используйте bsxfun(@plus,A,B)
вместо repmat(A,10,1) + repmat(B,1,5)
.
Когда A
является скаляром определенного типа, можно использовать другие функции, чтобы получить тот же результат, что и repmat
.
Синтаксис repmat | Эквивалентная альтернатива |
---|---|
repmat(NaN,m,n) | NaN(m,n) |
repmat(single(inf),m,n) | inf(m,n,'single') |
repmat(int8(0),m,n) | zeros(m,n,'int8') |
repmat(uint32(1),m,n) | ones(m,n,'uint32') |
repmat(eps,m,n) | eps(ones(m,n)) |