MATLAB 四舍五入/取整

round

四舍五入到最接近的小数或整数。


语法


Y = round(X)
Y = round(X,N)
Y = round(X,N,type)
Y = round(t)
Y = round(t,unit)

描述

表达式 描述
Y = round(X) 将X的每个元素四舍五入到最接近的整数。逢五进一。
Y = round(X,N)

四舍五入到N位:

  • N > 0:小数点右边四舍五入到N位。
  • N = 0:四舍五入到最接近的整数。
  • N < 0:小数点左边四舍五入到N位。
Y = round(X,N,type)  指定舍入的类型。指定“有效”四舍五入到N个有效数字(从最左边数起)。N必须是正整数。 
Y = round(t) 将持续时间数组t的每个元素四舍五入到最接近的秒数。
Y = round(t,unit)  将t的每个元素四舍五入到指定时间单位的最接近数字。

举例

四舍五入矩阵元素:


X = [2.11 3.5; -3.5 0.78];
Y = round(X)
% 结果
Y = 2×2

     2     4
    -4     1

四舍五入到指定的小数位数

比如:将圆周率四舍五入到小数点后3位:


Y = round(pi,3)
% 结果
Y = 3.1420

四舍五入到100的倍数

数字863178137四舍五入到100的最接近倍数:


round(863178137,-2)
% 结果
ans = 863178100

将元素四舍五入到指定的有效位数


format shortg
x = [1253 1.345 120.44]
% 结果
x = 1×3

         1253        1.345       120.44

y = round(x,2,'significant')
% 结果
y = 1×3

         1300          1.3          120

四舍五入时控制数字显示

format命令控制MATLAB如何在命令行显示数字。如果一个数字有多余的数字,不能在当前格式中显示,MATLAB会自动对该数字进行四舍五入以方便显示。当与round函数结合使用时,可能会导致意想不到的结果。

考虑以下减法操作的结果,它显示5位数字:


format short
x = 112.05 - 110
% 结果
x = 2.0500

根据显示的值x,将x四舍五入为1个小数,应该返回2.1:


round(x,1)
% 结果
ans = 2.1000

实际上,这里的问题是MATLAB为了显示目的将x四舍五入为5位数字。round函数返回正确的答案。通过长格式查看x来确认答案,将x四舍五入到15位。


format long
x
% 结果
x = 
   2.049999999999997





公众号

关注公众号,获取一手资讯

“ MATLAB 四舍五入/取整 ” comments 0

评论/回复

电子邮件地址不会被公开。 必填项已用*标注