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).

 채택된 답변

Mohammad Abouali
Mohammad Abouali 2015년 12월 4일
편집: Mohammad Abouali 2015년 12월 4일

1 개 추천

% 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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품

질문:

2015년 12월 4일

편집:

2015년 12월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by