How to find an array in a vector or matrix?

16 次查看(过去 30 天)
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')

采纳的回答

Jan
Jan 2021-4-14
编辑:Jan 2021-4-14
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)

更多回答(1 个)

Ahmed Redissi
Ahmed Redissi 2021-4-14
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:

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by