Hi, I want to speed up my script with double loop.

3 visualizaciones (últimos 30 días)
ArxIv
ArxIv el 5 de Abr. de 2024
Comentada: ArxIv el 6 de Abr. de 2024
I would like to eliminate double-loop that script below has.
I have difficulty in vectorizing/optimizing the code handling multi-dimensional arrays.
A is the sz×n matrix and B is the sz×m matrix. sz is the 1×p vector.
Thus, X shall be m×n×p matrix.
Can someone suggest me the
for i = 1:n
for j = 1:m
X(j,i,[1:length(sz)]) = A(:,i)' + B(:,j)';
end
end
I would be happy if some one suggest me solutions.

Respuesta aceptada

Stephen23
Stephen23 el 5 de Abr. de 2024
Editada: Stephen23 el 5 de Abr. de 2024
X = permute(A,[3,2,1]) + permute(B,[2,3,1])
The data arrangement in memory is not optimal for that operation. Use BSXFUN for versions prior to R2016b.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by