How to find an array in a vector or matrix?

16 vues (au cours des 30 derniers jours)
Ehsan Ben
Ehsan Ben le 14 Avr 2021
I want to find a specific number in a vector, and I am using the following command
[s,t] = find(q_p_d100==qp100max)
But I get the follwoing:
s =
0×1 empty double column vector
t =
0×1 empty double column vector
However, I simply need a raw and column number of the position of the number I'm looking for.
('qp100max' is the maximum number in 'q_p_d100 vector')

Réponse acceptée

Jan
Jan le 14 Avr 2021
Modifié(e) : Jan le 14 Avr 2021
The output of FIND shows you, that qp100max is not the maximum value of q_p_d100, but it is not even an element of the vector:
any(q_p_d100 == qp100max) % FALSE
I assume, this is a rounding problem. Try it:
max(q_p_d100) - qp100max
Is this a small value?
To get the position of the maximum value:
[maxV, index] = max(q_p_d100)
If the value is not unique:
allIndex = find(q_p_d100 == maxV)

Plus de réponses (1)

Ahmed Redissi
Ahmed Redissi le 14 Avr 2021
You can use the function "ismember" to find if an array or a scalar is part of another array. Here is the documentation for it so you can learn how to use it:

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by