In this article, we will tackle the different ways to round numbers in MATLAB. To sum up, you can round down, up, to the nearest integer, and to X decimal places using the floor, ceil, fix, and round MATLAB functions. More specifically, you’ll learn to:
- Round to the nearest Integer using the round function
- Round down using the floor and fix functions
- Round up using the ceil function
- Round to X decimal places
Round to the Nearest Integer: Round Function
- Round to the nearest integer for positive and negative values: if you want to round a number to its nearest integer value in MATLAB, you need to use the round function. In short, this will round to the nearest integer for negative and positive values.
- Round function example: if you take the number 4.3, round will output 4, but if you use the number 4.6, the round function will output 5.
Moreover, for values that are as near to their above value as to their below value, it will round toward the furthest integer value from zero:
Round Down in MATLAB: Floor and Fix
Above all, if you want to round down, there are two ways of doing so, depending on your goals.
- Round down for positive and negative values: first, if you want to round down for a positive and a negative number, you can use the MATLAB function floor:
- Round down to the closest value toward 0: however, if you want to round a number to its closest integer value toward 0, you can use the fix MATLAB function. In short, this will round down for a positive value but will round up for a negative value:
Round Up: the Ceil MATLAB Function
In order to round up in MATLAB, you can use the ceil function. In short, this will round up for a positive value:
Likewise, it will also round up for a negative value:
Round to X Decimal Places and to Any Nearest Desired Value
- Round to X decimal places: you can round to X decimal places with the following code:
decimal = 3; value = round(10^decimal*value)/10^decimal;
For instance, in order to round to 3 decimal places, you just have to set the variable decimal to 3, and to round to 4 decimal places, run the code above for decimal=4. Also, here is a simple example:
- Round to any nearest desired value: you can also generalize the code to the nearest desired value. In other words, it doesn’t have to be an integer. For example, let’s say that you want to round to the nearest fourth:
nearestValue = 0.25; value = round(value/nearestValue)*nearestValue;
Finally, this would be:
Key takeaways:
- To round down in MATLAB, use:
- floor to round down toward a smaller integer:
4.6 -> 4 -4.6 -> -5 - fix to round down towards 0:
4.6 -> 4 -4.6 -> -4
- floor to round down toward a smaller integer:
- To round up in MATLAB, use ceil:
-4.3 -> -4 -4.6 -> -4 - To round to the nearest integer, use round:
4.3 -> 4 4.6 -> 5 - To round to X decimal places, use:
value = round(10^decimal*value)/10^decimal;
- To round to the nearest desired value, use:
value = round(value/nearestValue)*nearestValue;
If you liked this article, here are other articles that you might also like:
- For Loop Syntax in MATLAB Through Simple Examples
- fprintf MATLAB function: Beginner’s Guide
- MATLAB Vector Tutorial: Create, Add, Concatenate, and Extract
🌱 If you want to learn more about the tools that helped me stop wasting time doing mindless work (such as generating Excel reports, Word documents, or creating clean and simple user interfaces) I wrote a small reference book about it:
👉 www.amazon.com/dp/B08L7FM1BB