Иллюстрированный самоучитель по Mathematica 5

Разрядность и точность при выполнении операций над числами. Отбрасывание малых вещественных чисел (функция Chop).

Теперь понятно, почему так часто получаются нецелые числа в качестве значений точности и разрядности. Таким образом, если точность числа х равна а, то его погрешность δ = 10-a. Если же число х# 0 и его разрядность равна р, то его погрешность δ = |x|10-p.

Если прибавить к числу (или отнять от него) величину, меньшую погрешности, визуально это не будет заметно.

Иллюстрированный самоучитель по Mathematica 5 › Числа, их представление и операции над ними › Разрядность и точность при выполнении операций над числами. Отбрасывание малых вещественных чисел (функция Chop).

Но информация о точности хранится.

10^26*(х-х2)
0.х10i.

Фактически это означает, что точность утеряна – нет ни одной верной значащей цифры результата, так как вычисления велись с недостаточной для этого точностью. Заранее же предвидеть, какая точность потребуется в дальнейшем, можно далеко не всегда. Поэтому ничуть не удивительно, что при вычислениях с вещественными числами иногда возникают ничего не значащие "хвосты", которые не имеют никакого физического смысла. Например, при вычислении выражения Exp[N[2 π I] ], которое равно 1, возникает мнимый "хвостик" – 2.44921x10-16 I. Такие хвосты можно отсечь.

Отбрасывание малых вещественных чисел: функция Chop

Вещественные числа, меньшие 10-10, можно отбросить с помощью функции Chop.

Иллюстрированный самоучитель по Mathematica 5 › Числа, их представление и операции над ними › Разрядность и точность при выполнении операций над числами. Отбрасывание малых вещественных чисел (функция Chop).

Задание второго числового аргумента eps функции Chop позволяет отбрасывать вещественные числа, абсолютная величина которых меньше eps.

Таким образом, функция chop заменяет маленькие вещественные числа нулем. Впрочем, иногда вещественное число нужно заменить не нулем, а его приближением к целому или рациональному числу. Для этого предназначены функции, позволяющие вычислить целую и дробную части числа, а также его рациональные приближения.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.