登录论坛

查看完整版本 : 在NumPy中相当于MATLAB的repmat


poster
2019-12-10, 16:49
我想使用NumPy执行以下MATLAB代码的等效项: repmat([1; 1], [1 1 1]) 。我将如何完成?


回答:
对于Matlab用户, (https://docs.scipy.org/doc/numpy-1.15.0/user/numpy-for-matlab-users.html)这里有一个更好(官方)的NumPy (https://docs.scipy.org/doc/numpy-1.15.0/user/numpy-for-matlab-users.html)链接-恐怕其中的Mathesaurus已经过时了。

repmat(a, m, n)的numpy等价于tile(a, (m, n)) (http://docs.scipy.org/doc/numpy/reference/generated/numpy.tile.html) 。

这适用于多个维度,并提供与matlab类似的结果。 (Numpy给出了3d输出数组,正如您期望的那样-由于某些原因,matlab提供了2d输出-但内容相同)。

Matlab:

>> repmat([1;1],[1,1,1]) ans = 1 1 蟒蛇:

In [46]: a = np.array([[1],[1]]) In [47]: np.tile(a, [1,1,1]) Out[47]: array([[[1], [1]]])

更多&回答... (https://stackoverflow.com/questions/1721802)