trunc

Округление по направлению к нулю

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

trunc(x)

Описание

trunc округляет номер к следующему целому числу в направлении 0.

Для сложных аргументов trunc округляет действительное и мнимые части отдельно.

Для вещественных чисел и точных выражений, представляющих вещественные числа, trunc возвращает целые числа.

Для аргументов, которые содержат символьные идентификаторы, trunc возвращает неоцененные вызовы функции.

Для интервалов с плавающей точкой trunc возвращает интервалы с плавающей точкой, содержащие все результаты применения trunc к вещественным или комплексным числам в интервале.

Если x является числом с плавающей запятой, то trunc(x) обрезает цифры после десятичной точки. Таким образом trunc совпадает с floor для действительных положительных аргументов и с ceil для действительных отрицательных аргументов.

Примечание

Если аргумент является числом с плавающей запятой абсолютного значения, больше, чем 10DIGITS, получившееся целое число затронуто внутренними незначащими цифрами. Смотрите Пример 2.

Примечание

Внутренне, точные числовые выражения, которые не являются ни целыми числами, ни рациональными числами, аппроксимированы числами с плавающей запятой перед округлением. Таким образом получившееся целое число зависит от текущей установки DIGITS. Смотрите Пример 3.

Взаимодействия среды

Функции чувствительны к переменной окружения DIGITS, который определяет числовую рабочую точность.

Примеры

Пример 1

Вокруг следующих вещественных и комплексных чисел:

trunc(3.5), trunc(-7/2), trunc(I/2)

Вокруг следующего символьного выражения, представляющего номер:

trunc(PI*I + 7*sin(exp(2)))

Округление выражений с символьными идентификаторами производит неоцененные вызовы функции:

trunc(x^2 + 3)

Пример 2

Округление чисел с плавающей запятой большого абсолютного значения затронуто внутренними незначащими цифрами:

x := 10^30/3.0

Обратите внимание на то, что только первые 10 десятичных цифр являются “значительными”. Дальнейшие цифры подвергаются эффектам округления, вызванным внутренним бинарным представлением. Эти “незначительные” цифры являются частью целого числа, произведенного путем округления:

trunc(x)

delete x:

Пример 3

Точные числовые выражения внутренне преобразованы в числа с плавающей запятой перед округлением. Следовательно, текущая установка DIGITS может влиять на результат:

x := 10^30 - exp(30)^ln(10)

Обратите внимание на то, что точное значение этого номера 0. Оценка с плавающей точкой подвергается серьезным отменам:

DIGITS := 10:
float(x), trunc(x)

Результат с плавающей точкой более точен, когда более высокая точность используется. Округленные значения изменяются соответственно:

DIGITS := 20:
float(x), trunc(x)

DIGITS := 30:
float(x), trunc(x)

delete x, DIGITS:

Пример 4

На интервалах с плавающей точкой trunc ведет себя можно следующим образом:

round(3.5...6.7)

Этот интервал содержит результаты trnc(x) для всех.

Поскольку существуют конечные числа, представленные как RD_INF и RD_NINF, соответственно, trunc возвращает очень маленькие или большие представимые числа в определенных случаях:

ceil(RD_NINF...RD_NINF)

Возвращаемые значения

Арифметическое выражение.

Перегруженный

x

Смотрите также

Функции MuPAD