Sto cercando una funzione generale per affiancare o ripetere matrici lungo un numero arbitrario di dimensioni un numero arbitrario di volte. Python e Matlab hanno queste caratteristiche nelle tile di NumPy e nelle funzioni repmat di Matlab. La funzione repmat di Julia sembra supportare solo gli array bidimensionali.Affiancamento o ripetizione di matrici n-dimensionali in Julia
La funzione dovrebbe apparire come repmatnd (a, (n1, n2, ..., nk)). a è una matrice di dimensione arbitraria. E il secondo argomento è una tupla che specifica il numero di volte in cui la matrice viene ripetuta per ogni dimensione k.
Qualche idea su come affiancare un array Julia su più di 2 dimensioni? In Python userei np.tile e in matlab repmat, ma la funzione repmat in Julia supporta solo 2 dimensioni.
Per esempio,
x = [1 2 3]
repmatnd(x, 3, 1, 3)
comporterebbe:
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
E per
x = [1 2 3; 1 2 3; 1 2 3]
repmatnd(x, (1, 1, 3))
comporterebbe la stessa cosa di prima. Immagino che gli sviluppatori Julia implementeranno qualcosa di simile nella libreria standard, ma fino ad allora sarebbe bello avere una soluzione.
credo che la funzione di ripetizione può essere quello che stai cercando: http://docs.julialang.org/en/latest/stdlib/linalg/#Base.repeat. Scusa se continuo a rispondere con i commenti - non ho davvero il tempo/energia per scrivere risposte complete con esempi e tutto il jazz. – StefanKarpinski