Find function and storing in cell

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

采纳的回答

Walter Roberson
Walter Roberson 2019-3-21
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 个评论
Morten Jørgensen
Morten Jørgensen 2019-3-21
Thanks.
And how can I index the row numbers in a cell?
Walter Roberson
Walter Roberson 2019-3-25
编辑:Walter Roberson 2019-3-25
mask = any(0 < X & X < 1, 2);
rows_with_match = find(mask);

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by