Select first max value of each cell at a cell array.

1 view (last 30 days)
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.

Accepted Answer

Azzi Abdelmalek
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

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!