Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
математ.основы прогр.2.doc
Скачиваний:
13
Добавлен:
07.09.2019
Размер:
1.19 Mб
Скачать

2.5.3 Оценка погрешности при вычислениях с применением ряда

Выше было показано на примере вычисления синуса, что погрешность вычислений является функцией прежде всего значения аргумента. Но относительно синуса (косинуса) можно утверждать, что практически можно принять 0 < х < 2, т.е.синус любого угла всегда можно привести (по абсолютному значению) к синусу угла 00<α<900, что и дает приведенное ограничение по sin(x) . Рассмотрим другие аспекты погрешностей.

Очевидно, что вычисления по данной арифметической операции будут продолжаться, пока не будет заполнен последний справа разряд мантиссы в ячейке памяти. Если это два слова (одинарная точность), то в этом случае неизбежная погрешность в десятеричном счислении будет оцениваться числом . Сделаем приближенную оценку, сколько надо взять слагаемых в ряду sin(x), чтобы структура ряда имела погрешность не более машинной. Если записать общий вид члена ряда sin(x)

,

То при каком-то п значения дальнейших слагаемых становятся существенно меньше Δ. Сформулируем это условие: количество членов ряда при вычислении sin(x) может быть таким, при котором, начиная с некоторого (п+1) машина уже эти вычисления не принимает в расчет и игнорирует, так как нет свободных разрядов в структуре числа. Тогда, приняв xmax=2, можем записать:

.

Подставим значение переменной и, заменяя неравенство равенством, запишем:

Или .

Это равенство имеет место при 2п=13÷14 или п≈7. Тогда, в пределах одинарной точности арифметическая операция вычисления sin(x) достаточно точно (в пределах ресурса машины) может быть выполнена по выражению:

.

Действительно, если взять последнее слагаемое в этом ряду

и вычислить ,

видим, что слагаемое при п=7 меньше, чем десятичная цена конечного разряда мантиссы в двоичном счислении.

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

Однако этими соображениями погрешность не ограничивается. Если аргумент «х» вводится с первичной погрешностью Δх и δх, то уже по структуре ряда видно, что абсолютная погрешность Δsinx существенно увеличивается. Действительно:

или .

Окончательно получаем

.

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

,

видим, что в результате расчета по ряду абсолютная погрешность результата увеличится примерно на два порядка, т.е. в сто раз. Заметим, что один порядок в десятеричном счислении эквивалентен примерно 3-4 разрядам в двоичной системе. Тогда уже в 6-7 разрядах справа (в двоичной системе) практически гарантировано наличие погрешности при вычислении синуса угла, т.е. эта погрешность неизбежна.