How to find an array in a vector or matrix?

조회 수: 11 (최근 30일)
Ehsan Ben
Ehsan Ben 2021년 4월 14일
답변: Ahmed Redissi 2021년 4월 14일
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에서 Data Distribution Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by