Единственная причина использовать Плавание за деньги состоит в том, если Вы не заботитесь о точных ответах.
Вот гораздо лучшая (официальная) ссылка NumPy для пользователей Matlab - я боюсь, что ссылка на mathesaurus уже устарела.
Нумеральный эквивалент repmat (a, m, n)
- это tile (a, (m, n))
.
Это работает с несколькими измерениями и дает результат, аналогичный Matlab. (Numpy дает трехмерный выходной массив, как и следовало ожидать - Matlab по какой-то причине дает 2-мерный вывод, но содержимое такое же).
Matlab:
>> repmat([1;1],[1,1,1])
ans =
1
1
Python:
In [46]: a = np.array([[1],[1]])
In [47]: np.tile(a, [1,1,1])
Out[47]:
array([[[1],
[1]]])
См. NumPy для пользователей Matlab .
Matlab:
repmat(a, 2, 3)
Numpy:
numpy.kron(numpy.ones((2,3)), a)
Обратите внимание, что о некоторых причинах, по которым вам может понадобиться использовать функцию MATLAB repmat, позаботился механизм широковещательной передачи NumPy , который позволяет выполнять различные типы математических вычислений с массивами. аналогичной формы. Итак, если у вас есть, скажем, массив 1600x1400x3, представляющий трехцветное изображение, вы можете (поэлементно) умножить его на [1,0 0,25 0,25]
, чтобы уменьшить количество зеленого и синего в каждом пикселе. См. Ссылку выше для получения дополнительной информации.
знают плитку
и повтор
.
x = numpy.arange(5)
print numpy.tile(x, 2)
print x.repeat(2)