Adding SPMD results - no loop

I have some multiple outputs from SPMD, each containing dofferent part of matrix:
finalImage = cell2mat(finalImageAll(1)) + cell2mat(finalImageAll(2)) + cell2mat(finalImageAll(3));
How can I add them all together in a vectorized way (no loop), in one line or so? In this example I show three, but there will be more of them (up to ~50).

 Respuesta aceptada

Mohammad Abouali
Mohammad Abouali el 4 de Dic. de 2015
Editada: Mohammad Abouali el 4 de Dic. de 2015

1 voto

% Creating random sample data
finalImageAll{1}=rand(3,3);
finalImageAll{2}=rand(3,3);
finalImageAll{3}=rand(3,3);
finalImageAll{4}=rand(3,3);
% now summing them all up in one line and no loop
finalImage = sum(cell2mat(reshape(finalImageAll,1,1,numel(finalImageAll))),3)
And the results: (it is random numbers so you would get something else)
finalImage =
2.9640 2.6123 1.1453
2.6784 1.9987 1.8235
1.9245 2.1087 3.4398

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 4 de Dic. de 2015

Editada:

el 4 de Dic. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by