How to vectorize for loop on cell array(with additional indexing)

2 次查看(过去 30 天)
I have the below for loop that needs to be vectorized.
I am unable to vectorize effectively as I have to use for loop(to obtain 'solution ') even after using cell fun to obtain the max value initially.
CuMu=[{'a'},{[100 1;1,1;50 2]};{'b'},{[150 1; 50 2]};{'c'},{[200 1;3,3; 50 2]};{'d'},{[250 1;1,1;1,1; 50 2]};{'e'},{[300 1; 50 2]}];
for k=1:5
Max(k,:)=max(CuMu{k,2}(:,1));
end
solution=max(Max);
Objective:To improve the performace through vectorization
Thanks.

采纳的回答

Walter Roberson
Walter Roberson 2020-5-8
solution = max( cellfun(@(CUMU) max(CUMU(:,1)), CuMu(:,2)) )

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Whos 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by