Is there a function or method that rounds a value towards a entries of a vector?

1 次查看(过去 30 天)
Say we have the value 5.5. If we do floor(5.5), we get 5. If we do ceil(5.5), we get 6. Is there a function or method that can be used to round 5.5 towards entries of a vector you provide? Take this example:
We have the vector 1.25:10.25 = 1.25, 2.25, 3.25, 4.25, 5.25, 6.25... we also have the value 5.5.
Is there a function that rounds 5.5 to a certain direction using the numbers in this vector?
"function"(5.5,1.25:10.25) = 5.25 And is there another function which can go the other direction? "otherfunction'(5.5, 1.25:10.25) = 6.25
Thanks for your help.

采纳的回答

Evan
Evan 2013-7-15
v = 1.25:10.25;
x = 5.5;
v(find(x-v>0,1,'last')); %round to nearest lower
v(find(x-v<0,1,'first')); %round to nearest higher

更多回答(1 个)

Image Analyst
Image Analyst 2014-5-30

Community Treasure Hunt

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

Start Hunting!

Translated by