Select first max value of each cell at a cell array.
1 view (last 30 days)
Show older comments
Dimitris Kokkinos
on 2 May 2014
Edited: Azzi Abdelmalek
on 2 May 2014
Hi!I have a cell array named "GroupyDir" nx1 which has specified number of n cells at each run of my code.I need to make a vector with max values of each cell, which seems easy, but the problem is that I have the maximum value at 2 spots in some cells.I need my code to select the first appearence of the max value.I also need the index of the value selected at each cell.How can I do that?
I use this loop.
maxval=zeros(length(GroupyDir),1); maxposition=zeros(length(GroupyDir),1);
for i = 1:length(GroupyDir) maxval(i)=max(GroupyDir{i}(:,1)); maxposition(i)=GroupyDir{i}(find([GroupyDir{i}]==maxval(i)),2); end
PS:GroupyDir's cells have 2 columns.The first has some measurements and the second their indices at the time series I use as input data at my code.Thnx in advance.
0 Comments
Accepted Answer
Azzi Abdelmalek
on 2 May 2014
Edited: Azzi Abdelmalek
on 2 May 2014
a={[2 4 2 3 4] [0 2 6 4 0 6 1]}
n=numel(a);
maxval=zeros(1,n);
idx=zeros(1,n);
for k=1:numel(a)
[ii,jj]=max(a{k})
idx(k)=jj
maxval(k)=ii
end
0 Comments
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!