Comparing values in an array to a range
5 views (last 30 days)
Show older comments
Hello
I'm wondering how to compare my values in an array ( 20x20) to a certain range, if found within that certain range will display the given value for the range. For example the array consists of numbers between ( 1 - 5, inclusive of decimal numbers such as 1.5, 0.5, 3.5 etc ) i have 5 given ranges, one being 0.5 - 1, and if that value is found between those numbers it will display a 1 for that number. And if it was found between 1.1-1.6 it will display a 2. I want to be able to compare each number to each range in one short code but don't know how
1 Comment
Rik
on 25 Aug 2020
Copy of the question in case he deletes this one as well:
Comparing values in an array to a range
Hello
I'm wondering how to compare my values in an array ( 20x20) to a certain range, if found within that certain range will display the given value for the range. For example the array consists of numbers between ( 1 - 5, inclusive of decimal numbers such as 1.5, 0.5, 3.5 etc ) i have 5 given ranges, one being 0.5 - 1, and if that value is found between those numbers it will display a 1 for that number. And if it was found between 1.1-1.6 it will display a 2. I want to be able to compare each number to each range in one short code but don't know how
Accepted Answer
Andrei Bobrov
on 28 Sep 2016
Edited: Andrei Bobrov
on 28 Sep 2016
a = rand(20,20)*5;
edges = [.5,1,1.1,1.6];
ii = discretize(a,edges);% [~,ii] = histc(a,edges) - if MATLAB older then R2014b
w = [1 0 2 ];
ii(ii>0) = w(ii(ii>0));
OR
t1 = a >= .5 & a < 1;
t2 = a >=1.1 & a < 1.6;
ii = t1 + 2*t2;
More Answers (0)
See Also
Categories
Find more on Data Distribution Plots 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!