If condition for a large number of different numbers
3 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
回答(1 个)
Ameer Hamza
2018-8-11
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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!