How to use find for a vector without a loop?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I have the following script but doesn't work (properly)
V_dates = [datenum(2030,1,1) datenum(2050,1,1) datenum(2075,1,1) datenum(2100,1,1)]
index = find(vector_with_dates == V_dates(:))
where vector_with_dates (size: 1x5000) is a vector having dates in serial date number form.
Now I would like to find the indexes of the vector_with_dates where the 4 numbers stored in V_dates are equal.
The only way I can think and it works properly is within a loop like this:
for i=1:length(V_dates)
index(i) = find(vector_with_dates == V_dates(i))
end
Is there a way to avoid the loop?
Thank you
0 Commenti
Risposta accettata
AbioEngineer
il 21 Ago 2019
Hi!
If you want to find all the locations in which vector_with_dates contains ANY of the dates in V_dates, use ismember
[tf,loc]=ismember(vector_with_dates,V_dates)
find(tf)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!