我正在寻找一种通用的函数,可以将矩阵沿任意数量的维度和任意次数重复。Python和Matlab中都有这些功能,分别是NumPy的tile和Matlab的repmat函数。但是,Julia的repmat函数似乎仅支持2维数组。
该函数应该像这样:repmatnd(a, (n1,n2,...,nk))。其中a是任意维度的数组,第二个参数是一个元组,用于指定在每个维度k上重复数组的次数。
有什么想法可以在Julia中实现大于2维的矩阵重复吗?在Python中,我会使用np.tile,在Matlab中使用repmat,但是Julia中的repmat函数仅支持2维数组。
例如:
x = [1 2 3]
repmatnd(x, 3, 1, 3)
会导致:
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
并为了
x = [1 2 3; 1 2 3; 1 2 3]
repmatnd(x, (1, 1, 3))
会产生与以前相同的结果。我想Julia开发人员将在标准库中实现类似这样的东西,但在那之前,有一个修复程序会很好。