Comparing values in an array to a range
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
Rik
2020-8-25
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
采纳的回答
Andrei Bobrov
2016-9-28
编辑:Andrei Bobrov
2016-9-28
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;
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!