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, который определяет числовую рабочую точность.

Примеры

Пример 1

Мы демонстрируем дробную часть вещественных и комплексных чисел:

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))

Пример 2

Необходимо соблюдать осторожность при вычислении дробной части чисел с плавающей запятой большого абсолютного значения:

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)

Пример 3

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

x := 10^30 - exp(30)^ln(10) + 1/3

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

DIGITS := 24: frac(x)

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

DIGITS := 30: frac(x)

delete x, DIGITS:

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

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

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

x

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

Функции MuPAD