Azzera filtri
Azzera filtri

error finding placement of specific number in a vector

1 visualizzazione (ultimi 30 giorni)
I have a single column vector named 'lon' of 8640 values. I'm trying to find which row has a certain value. I've tried using find(lon==120), but all it returns is an empty 0 x 1 double column vector. I've tried figuring this out online, but all I come across is the find function, which isn't working for me.

Risposta accettata

DGM
DGM il 25 Mag 2021
Modificato: DGM il 25 Mag 2021
Does the vector contain 120?
Does the vector contain exactly 120?
If it's floating point, the answer might not be what you think it is.
A = linspace(0,10,19).'
A = 19×1
0 0.5556 1.1111 1.6667 2.2222 2.7778 3.3333 3.8889 4.4444 5.0000
find(A == 3.3333)
ans = 0×1 empty double column vector
find(abs(A-3.3333)<1E-3)
ans = 7

Più risposte (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov il 25 Mag 2021
Hi,
Your data might be in a floating point format and if that is the case, then you need to be careful with logical indexing. If this is the case, you may need to use round up, select how many correct decimal digits to consider, and so forth. Moreover, inftead of find(Ion==120), you can use IND = (Ion==120) that shows you the indexes.
If you post your data, more specific answer will be provided.
Good luck.

Community Treasure Hunt

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

Start Hunting!

Translated by