Главная > Методы обработки сигналов > Численные методы
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

§ 4. О вычислительной погрешности

Ограничение на порядки чисел в ЭВМ иногда приводит к прекращению вычислений; в других случаях относительно небольшая разрядность чисел в ЭВМ приводит к недопустимому искажению результата вычислительной погрешностью. Такие алгоритмы, где вследствие ограниченности или малости t возникают подобные эффекты, называют «неустойчивыми».

Построение «устойчивых» алгоритмов, при использовании которых искажение окончательного результата вычислительной погрешностью находится в допустимых пределах, составляют существенную часть теории численных методов.

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

Пусть отыскивается наименьший корень уравнения . Для определенности условимся о следующих правилах округления. Вычисления производятся в десятичной системе счисления, причем в мантиссе числа после округлений удерживается 4 разряда. Имеем

после округления получаем

То же самое значение можно, «избавившись от иррациональности в числителе», представить в виде . Последовательно производя вычисления, получаем и после округления

Наконец,

и после округления

Производя вычисления с дополнительными разрядами, можно проверить, что в обоих случаях все подчеркнутые цифры результатов верные; однако во втором случае точность результата существенно выше. Дело в том, что в первом случае пришлось вычитать близкие большие числа; так как эти числа были большие, то они были округлены с большой абсолютной погрешностью, в результате и ответ получился с большой абсолютной погрешностью.

Здесь нам впервые встретилось явление потери значащих цифр (или «пропадания» значащих цифр), имеющее место при вычитании близких величин; это явление, например, довольно часто приводит к существенному искажению результата при решении систем линейных алгебраических уравнений.

Рассмотрим другой типичный пример, где порядок выполнения операций влияет на погрешность результата. На машине с плавающей запятой вычисляется значение суммы

Можно вычислять либо по рекуррентной формуле

либо по рекуррентной формуле

Оказывается, во втором случае суммарная вычислительная погрешность будет существенно меньше.

Дело заключается в следующем. В большинстве случаев сложение чисел в ЭВМ осуществляется по следующей схеме. Два числа и складываются абсолютно точно, а затем происходит отбрасывание последних знаков или округление результата с тем, чтобы осталось t или t—1 значащих цифр. В результате получается приближенное значение суммы с погрешностью, не превосходящей , но в неблагоприятном случае большей, чем . В первом случае у нас при каждом сложении значение суммы больше 1 и в принципе возможно получение погрешности около . Во втором случае

поэтому погрешность накапливается существенно медленнее. Можно показать, что что погрешность окончательного результата не превосходит .

На конкретной ЭВМ было проведено вычисление по обоим алгоритмам и оказалось, что для первого алгоритма погрешность , а для второго — .

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

<< Предыдущий параграф Следующий параграф >>
Оглавление