Lookup Table the floor value
3 views (last 30 days)
Show older comments
I´m a new user of Matlab and I´m trying to get the y floor value of a table. I´ve looking for it and the interpn1 command only let you to get the nearest value not the floor.
An example is for the table:
1 10
10 30
If I ask for the value of 9, I need to get 10 (if I use interpn1 nearest I get 30).
Thanks in advance
0 Comments
Accepted Answer
Mike Hosea
on 12 Apr 2011
For a table x,y with x sorted ascending, you can do a linear time lookup for the value xi in the "floor" sense via
y(find(xi>=x,1,'last'))
-- Mike
0 Comments
More Answers (4)
the cyclist
on 12 Apr 2011
If A is your array, I think you want something like:
y_floor = min(A(A>9))
0 Comments
Andrei Bobrov
on 12 Apr 2011
added variant
A = randi(120,5,5)
n = 9
[~,I] = min(abs(A(:)-n));
A(I)
0 Comments
Walter Roberson
on 12 Apr 2011
Use the two output form of histc() to get the bin numbers, and use the bin numbers to index the y table.
0 Comments
See Also
Categories
Find more on Tables in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!