How to combine several arrays?

2 visualizzazioni (ultimi 30 giorni)
Meshooo
Meshooo il 15 Gen 2014
Modificato: Meshooo il 23 Gen 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

Risposta accettata

Jos (10584)
Jos (10584) il 15 Gen 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 Commenti
Jos (10584)
Jos (10584) il 15 Gen 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 il 16 Gen 2014
You are right. Thank you very much..

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by