exponenta event banner

вокруг

Округление до ближайшего десятичного или целого числа

Описание

пример

Y = round(X) округляет каждый элемент X до ближайшего целого числа. В случае галстука, где элемент имеет дробную часть ровно 0.5, round функция округляется от нуля до целого числа с большей величиной.

пример

Y = round(X,N) скругления в N цифры:

  • N > 0: скругление до N цифры справа от десятичной запятой.

  • N = 0: округление до ближайшего целого числа.

  • N < 0: скругление до N цифры слева от десятичной точки.

пример

Y = round(X,N,type) указывает тип округления. Определить 'significant' для округления до N значащие цифры (отсчитываются от самой левой цифры). В этом случае N должно быть положительным целым числом.

пример

Y = round(t) округляет каждый элемент duration множество t до ближайшего числа секунд.

пример

Y = round(t,unit) округляет каждый элемент t до ближайшего номера указанной единицы времени.

Примеры

свернуть все

Округление элементов матрицы 2 на 2 до ближайшего целого числа.

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

     2     4
    -4     1

Вокруг pi до ближайших 3 десятичных цифр.

Y = round(pi,3)
Y = 3.1420

Округление числа 863178137 до ближайшего кратного 100.

round(863178137,-2)
ans = 863178100

Округление элементов вектора для сохранения 2 значащих цифр.

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

Фактически, проблема здесь в том, что MATLAB является округлением x до 5 цифр для отображения. round функция возвращает правильный ответ. Подтвердите ответ, просмотрев x с format long, который отображает x округляется до 15 цифр.

format long
x
x = 
   2.049999999999997

Округление каждого значения в массиве длительности до ближайшего количества секунд.

t = hours(8) + minutes(29:31) + seconds(1.3:0.5:2.3);
t.Format = 'hh:mm:ss.SS'
t = 1x3 duration
   08:29:01.30   08:30:01.80   08:31:02.30

Y1 = round(t)
Y1 = 1x3 duration
   08:29:01.00   08:30:02.00   08:31:02.00

Округите каждое значение в t до ближайшего количества часов.

Y2 = round(t,'hours')
Y2 = 1x3 duration
   08:00:00.00   09:00:00.00   09:00:00.00

Входные аргументы

свернуть все

Входной массив, заданный как скаляр, вектор, матрица или многомерный массив. Для сложных X, round относится к реальной и мнимой части независимо.

X должно быть single или double при использовании round с несколькими входами.

round преобразует логические и char элементы X в double значения.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | logical
Поддержка комплексного номера: Да

Число цифр, указанное как скалярное целое число. При указании N, round раунды функций X до ближайшего кратного 10 -N.

При указании 'significant' тип округления, затем N должно быть положительным целым числом.

Тип округления, указанный как 'decimals' или 'significant'. Тип округления определяет, round учитывает цифры по отношению к десятичной запятой или общему количеству значащих цифр. N должно быть положительным целым числом при указании 'significant'. В этом случае round функция округляет до ближайшего числа с N значащие цифры.

Значение по умолчанию: 'decimals', так что round(X,N,'decimals') эквивалентно round(X,N).

Пример: round(3132,2,'significant') прибыль 3100, которое является ближайшим числом к 3132 который имеет 2 значащие цифры.

Типы данных: char | string

Длительность ввода, указанная как duration массив.

Единица времени, указанная как 'seconds', 'minutes', 'hours', 'days', или 'years'. Продолжительность 1 года равна ровно 365,2425 24-часовых дней.

Типы данных: char | string

Совет

  • format short и format long оба отображают округленные числа. Это может привести к неожиданным результатам в сочетании с round функция.

  • Для отображения используйте sprintf для управления точным отображением числа в виде строки. Например, для отображения ровно 2 десятичных цифр pi (и без конечных нулей), используйте sprintf('%.2f',pi).

Вопросы совместимости

развернуть все

В R2014b изменилось поведение

Расширенные возможности

..
Представлен до R2006a