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

2 次查看(过去 30 天)
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.

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2014-5-2
编辑:Azzi Abdelmalek 2014-5-2
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 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by