How to combine several arrays?

3 views (last 30 days)
Meshooo
Meshooo on 15 Jan 2014
Edited: Meshooo on 23 Jan 2014
Dear all,
I have a variable that I named it 'Selec' that was inside a for-loop and it become like this
Selec = [0] [0] [1] [0] [0] [0]
I'm trying to know the location of the highest value. In this example it is 3. So how can I do that?
I tried to use the following 'max' but it is not working
[value,index] = max(Selec);
So is it possible to make Select like this
Selec = [001000] such that I can use 'max' to find the location of 1 which is 3 in this example.
Any help will be appreciated.
Meshoo

Accepted Answer

Jos (10584)
Jos (10584) on 15 Jan 2014
Apparently, Selec is a cell array. You can convert into a numerical array by concatenation:
Selec = {[0] [0] [1] [0] [0] [0] }
Selec2 = [Selec{:}]
[value,index] = max(Selec2)
  4 Comments
Jos (10584)
Jos (10584) on 15 Jan 2014
Stricty speaking, zero is the maximum value. If you want to exclude specific maximum values, you could adopt something like:
[value,index] = max(Selec2)
if value == 0,
index = []
value = NaN
end
Meshooo
Meshooo on 16 Jan 2014
You are right. Thank you very much..

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!