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 で Introduction to Installation and Licensing についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by