Find function and storing in cell
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Morten Jørgensen
il 21 Mar 2019
Modificato: Walter Roberson
il 25 Mar 2019
Hi
I'm trying to write a program that stores the values 0 < X < 1
I have an array X wich are 15000x14 and I want to store the row numbers in a cell every time the values are between 0 and 1
in some cases there are multiple values that 0 < X < 1
How should I write this?
[x,y] =find(0 < X < 1);
when I do this it still gives me numbers that are negative
Thanks Morten
Risposta accettata
Walter Roberson
il 21 Mar 2019
In MATLAB, except for some symbolic contexts, the expression 0 < X < 1 is parsed as ((0 < X) < 1) . The 0 < X part is done first and gives a result that is either 0 (false) or 1 (true). Then that 0 or 1 is compared < 1 and that is going to give 0 where the result of the first comparison was true (because 1 < 1 is false) and 1 where the result of the first comparison was true (because 0 < 1 is true.)
You need to use 0 < X & X < 1
2 Commenti
Walter Roberson
il 25 Mar 2019
Modificato: Walter Roberson
il 25 Mar 2019
mask = any(0 < X & X < 1, 2);
rows_with_match = find(mask);
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Characters and Strings 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!