З. Приер правильного и неправильного применения дифференцирования



Листинг 7.1З. Приер правильного и неправильного применения дифференцирования


Для численного дифференцирования Mathcad применяет довольно сложный алгоритм, вычисляющий производную с колоссальной точностью до 7-8-го знака после запятой. Этот алгоритм (метод Риддера) описан во встроенной справочной системе Mathcad, доступной через меню Help (Справка). Погрешность дифференцирования не зависит от констант TOL или CTOL, в противоположность большинству остальных численных методов, а определяется непосредственно алгоритмом.

Исключение составляют функции, которые дифференцируются в окрестности сингулярной точки; например для рассмотренной нами функции f (x)=1/x это будут точки вблизи х=о. При попытке найти ее производную при х=о будет выдано сообщение об одной из ошибок деления на ноль "Can't divide by zero" (Деление на ноль невозможно) или "Found a singularity while evaluating this expression. You may be dividing by zero" (Найдена сингулярность при вычислении этого выражения. Возможно, Вы делите на ноль). Если попробовать численно определить производную очень близко к нулю, например, при х=10-100, то может появиться сообщение об ошибке "Can't converge to a solution" (Невозможно найти решение). Встретившись с одной из упомянутых ошибок, присмотритесь повнимательнее к дифференцируемой функции и убедитесь, что Вы не имеете дело с точкой сингулярности.



Содержание раздела