frac
Дробная часть номера
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
frac(x
)
frac(x)
представляет “дробную часть” x-floor(x)
номера x
.
Для сложных аргументов frac
применяется отдельно к действительной и мнимой части.
Для вещественных чисел значение x-floor(x)
, представленный frac(x)
, является номером от интервала. Для положительных аргументов можно думать о frac
как обрезающий все цифры перед десятичной точкой.
Для целочисленных аргументов возвращен 0
. Для рациональных аргументов возвращено рациональное число. Для аргументов, которые содержат символьные идентификаторы, возвращены символьные вызовы функции. Для аргументов с плавающей точкой или нерациональных точных выражений, возвращены значения с плавающей точкой.
Если аргумент является числом с плавающей запятой абсолютного значения, больше, чем 10DIGITS, то результат затронут внутренними незначащими цифрами! Cf. Пример 2.
Точные числовые данные, которые не являются ни целыми числами, ни рациональными числами, аппроксимированы числами с плавающей запятой. Для таких аргументов результат зависит от приведенной стоимости DIGITS
! Cf. Пример 3.
Функция чувствительна к переменной окружения DIGITS
, который определяет числовую рабочую точность.
Мы демонстрируем дробную часть вещественных и комплексных чисел:
frac(1234), frac(123/4), frac(1.234)
frac(-1234), frac(-123/4), frac(-1.234)
frac(3/2 + 7/4*I), frac(4/3 + 1.234*I)
Дробная часть символьного числового выражения возвращена как значение с плавающей точкой:
frac(exp(123)), frac(3/4*sin(1) + I*tan(3))
Выражения с символьными идентификаторами производят символьные вызовы функции:
frac(x), frac(sin(1) + x^2), frac(exp(-x))
Необходимо соблюдать осторожность при вычислении дробной части чисел с плавающей запятой большого абсолютного значения:
10^13/3.0
Обратите внимание на то, что только первые 10 десятичных цифр являются “значительными”. Дальнейшие цифры подвергаются эффектам округления, вызванным внутренним бинарным представлением. Эти “незначительные” цифры могут ввести дробную часть:
frac(10^13/3.0)
Мантисса следующего числа с плавающей запятой не имеет достаточного количества цифр, чтобы сохранить “цифры после десятичной точки”:
floor(10^25/9.0), ceil(10^25/9.0), frac(10^25/9.0)
Точные числовые выражения преобразованы в числа с плавающей запятой. Следовательно, существующая установка DIGITS
влияет на результат:
x := 10^30 - exp(30)^ln(10) + 1/3
Обратите внимание на то, что точное значение этого номера. Оценка с плавающей точкой может подвергнуться серьезной отмене:
DIGITS := 24: frac(x)
Результат с плавающей точкой более точен, когда более высокая точность использовала:
DIGITS := 30: frac(x)
delete x, DIGITS:
|
Арифметическое выражение.
x