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, то результат затронут внутренними незначащими цифрами! См. Пример 2.
Точные числовые данные, которые не являются ни целыми числами, ни рациональными числами, аппроксимированы числами с плавающей запятой. Для таких аргументов результат зависит от приведенной стоимости DIGITS! См. пример 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