MATLAB Answers

# How to round up to closest 0 or 5 in array?

30 views (last 30 days)
SL on 25 Oct 2016
Edited: SL on 25 Oct 2016
Code
utp = [420.680537950975, 412.407955038480, 389.575547217989, 366.089887932711, 363.090652446469, 352.095749639858];
% https://se.mathworks.com/matlabcentral/answers/14495-rounding-elements-in-array-to-nearest-0-25
up = ceil(utp * 2) / 2;
down = floor(utp * 2) / 2;
Expected output
420
410
390
365
365
350
I started to think to make an for-loop for the task but really - it does not feel like MATLAB.
Maybe, there is something built-in.
MATLAB: 2016b OS: Debian 8.5

#### 0 Comments

Sign in to comment.

### Answers (1)

Walter Roberson on 25 Oct 2016
round(utp*5)/5

#### 2 Comments

John D'Errico on 25 Oct 2016
oops. To round to the nearest multiple of 5, I expect you meant to write:
round(utp/5)*5
SL on 25 Oct 2016
Yes, there is a typo in Walter's answer. John's correction is valid. It would be great to get some explanation in your answer such that it would be more generic. Now, I do for instance this 1 `utp = utp * 1000; utp = round(utp/5)*; utp = utp / 1000;` to get dimensions match in cases where integers are not significant. Maybe, just add a notification that it is designed for integers is the best option here.

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!

Translated by