If condition for a large number of different numbers

5 visualizaciones (últimos 30 días)
Filippos Papasavvas
Filippos Papasavvas el 11 de Ag. de 2018
Respondida: Ameer Hamza el 11 de Ag. de 2018
Hi!
I have a long array of random values [1 2 4 5 6 2 1 .....]. I take the maximum of the array and get an index value eg 50 for the position of the maximum value. I want if the index value = 1 or 1+kz or 1+2*kz, 1+3*kz,...,1+1000*kz (where kz is some natural number) to write the value of 1 in a new vector. If index value = 2 or 2+kz or 2+2*kz, 2+3*kz,...,1+1000*k I want to write the value 2 in a new vector. Due to the amount of values I'd prefer not to have to write explicitly each one of them in an 'if ...or...' form. I hope I explained this well.
Thanks for any help! Filippos

Respuestas (1)

Ameer Hamza
Ameer Hamza el 11 de Ag. de 2018
max() function returns both maximum value and its index.
[value, index] = max(array);
For the second part about 1+kz can you give a numeric example on a small vector.

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by