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
который определяет числовую рабочую точность.
Вокруг следующих вещественных и комплексных чисел:
trunc(3.5), trunc(-7/2), trunc(I/2)
Вокруг следующего символьного выражения, представляющего номер:
trunc(PI*I + 7*sin(exp(2)))
Округление выражений с символьными идентификаторами производит неоцененные вызовы функции:
trunc(x^2 + 3)
Округление чисел с плавающей запятой большого абсолютного значения затронуто внутренними незначащими цифрами:
x := 10^30/3.0
Обратите внимание на то, что только первые 10 десятичных цифр являются “значительными”. Дальнейшие цифры подвергаются эффектам округления, вызванным внутренним бинарным представлением. Эти “незначительные” цифры являются частью целого числа, произведенного путем округления:
trunc(x)
delete x:
Точные числовые выражения внутренне преобразованы в числа с плавающей запятой перед округлением. Следовательно, текущая установка 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:
На интервалах с плавающей точкой, trunc
ведет себя можно следующим образом:
round(3.5...6.7)
Этот интервал содержит результаты trnc(x)
\forall.
Поскольку существуют конечные числа, представленные как RD_INF
и RD_NINF
, соответственно, trunc
возвращает очень маленькие или большие представимые числа в определенных случаях:
ceil(RD_NINF...RD_NINF)
|
Арифметическое выражение.
x