specify array with values

2 views (last 30 days)
Syeda Amberin
Syeda Amberin on 2 Jul 2019
Commented: Steven Lord on 2 Jul 2019
Hi,
I am trying to set up an array of values with lower and upper bounds. The lower bound (lb) is .1 and the upper bound (ub) is .25. I also have a table called Tab. I want to find all values in Tab(:,3) as long as they are within [lb and ub]. I am trying to use ismember because I am specifying for other columns using ismember. It would be nice if I could extract all rows from Tab(:,3) that fall between ub and lb using ismember. Any help?
Thanks

Accepted Answer

Steven Lord
Steven Lord on 2 Jul 2019
ismember isn't the right tool for this task. Use the greater-than (>) and less-than (<) operators.
rng(0, 'twister');
x = rand(10, 1);
mask = (x > 0.25) & (x < 0.75);
T = table(x, mask, 'VariableNames', {'data', 'inRange'})
xInRange = x(mask)
  2 Comments
Syeda Amberin
Syeda Amberin on 2 Jul 2019
Thanks. I have applied this method. But this means I will have to create a second table which I am avoiding. Your time is appreciated.
Steven Lord
Steven Lord on 2 Jul 2019
No. I built the table T just to show the results.
rng(0, 'twister');
x = rand(10, 1);
T = table(x);
mask = (T.x > 0.25) & (T.x < 0.75);
T(mask, :) % Sub-table
T{mask, 'x'} % Just the contents of the x variable from T

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!