Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Журавлев, Ю. П. Системное проектирование управляющих ЦВМ

.pdf
Скачиваний:
6
Добавлен:
22.10.2023
Размер:
12.85 Mб
Скачать

ственно слева и справа равны:

*°-д0

 

 

Д0+ е

тл

,

x d x

х 0

1 ~

т

' о >

 

I

 

 

 

хо— е

 

 

 

 

*о + е

 

 

До 4~е

т. =

Г

x d x

,

J

- * • +

 

*о+Д

В случае приближения слева математическое ожида­ ние тл, дисперсию Dn погрешности метода итераций можно определить следующим образом:

Д„

Дс + Де^ + <

 

А, =

В случае приближения справа эти величины также соответственно равны:

т.,

Др. + е.

__

Д2 + дсе+ S*

UТ, ------

з

 

2 ’

~ и —

Следовательно, среднеквадратическое значение сгм погрешности метода итераций можно рассчитать следую­ щим образом:

д;+ д0«+ «*

Ошибка метода итераций может быть уменьшена, если соответствующим образом корректировать величи­

ну вычисленного корня.

корень Хо* корректиро­

1°. Первая

коррекция. Если

вать на величину

А с = \ x 0— f ( X o ± e ) |,

 

 

то ошибка метода

итераций Ам будет иметь вид

 

AM=^r-K** + f (*0± е ),

где х * = л*0 +

Дс.

 

 

 

В этом случае

справедливы выражения:

 

 

 

*0

 

D, =

On=

\

г = Т „ =

х0+е—

 

х а—е+Дс

 

 

d x

/е — Д Д 2

 

 

 

160

и, следовательно,

(Тм= (е—Ас) / |/ 3.

2°. Вторая коррекция. Смысл второй коррекции за­ ключается в том, чтобы математическое ожидание кор­ ня Хо* совместить с истинным значением Хо:

I е— М 2.

з

■■ - е — А °

[2VWJ '

м

2 >Г

где а 0***~х*0 -f- (s -f- Дс)/2;

 

 

g (x0***)=\/[s~ A c).

Таким образом, наименьшее значение среднеквадра­ тической ошибки метода итераций имеет место при вто­ рой коррекции вычисленного корня хо*.

Систематическая ошибка Ас метода итераций соиз­ мерима с величиной е:

Ас= е |/(х о ± е ) |,

но

поскольку точные

значения производной в точках

х0±

е неизвестны, так

как неизвестно значение корня х0,

то в случае второй коррекции желательно корректиро­ вать вычисленный корень путем алгебраического сложе­ ния с поправкой А:

д = (8 + Дс)/2 = s [ 1 + Г (х*0 s)]/2,

причем среднеквадратическое значение ошибки метода уменьшается в два раза по сравнению со случаем пер­ вой коррекции. ,.

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

Вслучае осциллирующих итераций (ошибка метода

вкаждом последующем приближении изменяет знак) систематическая ошибка Ас метода прилегает к точному значению корня х0 слева или справа и ее величина опре* деляется выражением

| Ас | = )Хо—/ (хо±е) | ,

П —458

161

Плотности распределения значений корня Хо* при тех же предположениях (см. монотонные итерации) име­ ют вид:

2 (. '_ д j

при х6 — s < x * 0< x 0 — Дс,

&(*«*) =

 

при Х 0 -}- Д с < * * о < * о + £.

2 (. -

Дс)

 

 

О

в остальных случаях,

1

при х0 — s -}- Дс< х 0** < х 0 -|- е — Дс,

g ( X 0* * ) = 2 (. - Дс)

 

 

 

О

— в остальных случаях,

 

1

 

(s — дс)

 

^ ^ д у п р и

 

g (х0***) =

у ^ у ____ _________________(е — Дс) .

S Л - о

-А-О Т

2

>

О — в остальных случаях.

Математические ожидания

корней х0*, х0**, х 0***

совпадают с точным значением

корня х 0:

т ~ х О*

Дисперсии ошибок метода в случае осциллирующих итераций определяются выражениями:

 

j

•* + £ДС+ д?

 

[х*0— ХоГ g (**о) =

 

 

 

—00

 

 

 

00

(■ -

Дс)2 .

D [х0**] =

j

[х0** — х 0]8 g ( х * * )

 

—00

 

3

 

 

 

 

 

0 0

 

(^-Д с)г

Z)[x0***] =

 

jVo*** — *о]2£(*о***) =

 

 

 

 

12

Среднеквадратические значения ошибок метода опре­

деляются выражениями:

 

 

ом = а [х*0 — х 0] = ] / (£"+ дсе +

Д^/З;

°М=

о 1*0** — *о] = [В — Дс)/3;

 

ом =

о [х?*** — Хо] = (е — Дс)/2 уТ т

162

Все расчётные' соотношения выведены для случаев, когда

!/'(*) K V *

В противных случаях необходимо метод итераций проводить в соответствии с выражением

У (*«)

1- У (*i) О ,

причем величина значений среднеквадратических оши­ бок метода не изменится.

д) Метод Ньютона. Метод Ньютона (метод касатель­ ных) является разновидностью метода итераций при отыскании корней с помощью соотношений

X i+ l = Xi — f( X i) / f ' ( X i) .

При заданной допустимой погрешности е вычисления корня Хо метод Ньютона дает систематическую погреш­ ность Ас:

Л0=е—f(x0±e)/f'(xo±E).

В предположении, что вычисленное значение корня Хо* равномерно распределено в пределах x0±Ac^X o * ^ ^ х 0± е с плотностью g(%o*) распределения:

g(x0*) = 1/(е—Ас)

можно оценить ошибку метода Ам в соответствии с вы­ ражением Лм= |*о±Дс:+-*о*|, в котором случайной вели­ чиной является только Хо*.

Тогда справедливы соотношения:

тя = тп= х0± (е+Ас)/2; т[Дм]= + (е+Д с)/2.

Как и в методе итераций вторая коррекция дает

(Тм= (е—Ас)/2 ]/ 3,

причем величина поправки равна:

А ^ е[ 1 + П х 0*+е)]/2.

е) Квадратурные формулы. Вычисление определенно­ го интеграла

ь

t/= j f{x)dx

а

и *

163

с помощью квадратурных формул дает абсолютную по­ грешность R n, которая определяется выражениями:

0 < ] Яг

(6— а)3

 

12«2

 

для метода трапеции и

а)5

 

0 < |/? 2|<

М2

 

180(2 п)4

 

для .метода парабол (метода Симпсона), где п — число отрезков разбиения интервала [a, b], Mi, М%— макси­ мальные значения модуля соответственно второй и чет­ вертой производных подынтегральной функции на отрез­ ке [а, Ь].

Очевидно, что

зм= у

j [Ri — tn i\- § (x ) d x

>

— cc

 

где

 

 

CO

 

 

rn = j R i g (x) dx-

g ( x ) — 1 jib — a);

i 1 , 2.

§ 4.4. ОШИБКИ ОКРУГЛЕНИЯ ПРИ ВЫПОЛНЕНИИ ЭЛЕМЕНТАРНЫХ ОПЕРАЦИЙ В ЦИФРОВЫХ М АШ И НАХ

Инструментальная ошибка ЦВМ обусловлена, как уже об этом говорилось, конечной величиной разрядной сетки и необходимостью округления результатов некото­ рых элементарных операций. Ошибки округлений в про­ цессе вычислений накапливаются и могут существенно повлиять на точность результатов. Поэтому при выборе разрядной сетки ЦВМ на этапе проектирования в зави­ симости от требований к точности вычислений необходи­ мо прогнозировать либо максимальную величину инстру­ ментальной ошибки машины, либо ее среднеквадратиче­ ское значение.

Анализ ошибок округлений при выполнении элементар­ ных операций проводится ниже при следующих предпо­ ложениях:

система счисления, принятая в проектируемой ЦВМ, позиционная с основанием |3;

в ЦВМ с «плавающей запятой» числа, участвую­ щие в элементарных операциях, нормализованы;

•164

в ЦВМ с «фиксированной запятой» числа, участ­ вующие в элементарных операциях, меньше единицы; переполнение разрядной сетки не допускается;

округление результата элементарной операции вы­ полняется по правилу: в младший разряд числа, остаю­

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

Обозначим: п — количество разрядов,

предназначен­

ных для представления мантиссы числа

(без знаковых);

go— ошибка

однократного округления

мантиссы.

Ошибка

go не превышает половины

цены младшего

разряда и равномерно распределена в пределах

—|3-”/ 2 ^ | 0< + р - п/2.

Плотность ее распределения имеет вид

£(so) = |3(n>.

Математическое ожидание ошибки округления может быть найдено в соответствии с выражением

 

р

п/2

 

М [ У =

 

J

5о£(5о)<й , = 0.

 

-

р- « / 2

 

Дисперсия П[£0] ошибки

округления равна:

Д [ У =

у

2 ^

( У < я . = Г 712.

р— п /2

 

Среднеквадратическое значение а [$0] ошибки округле­ ния определяется выражением

в[У = р-я/ 2 / ЗГ.

Собственно ошибка округления go рассматривалась безотносительно типа элементарной операции и способа представления чисел.

Анализ ошибок округления, возникающих при выпол­ нении конкретных типов элементарных операций, про­ водится ниже.

1. Операция сложения (вычитания). Ошибки округ­ ления при выполнении операции сложения могут воз­ никнуть, во-первых, при выравнивании порядков слага­ емых и, во-вторых, при нормализации результата, если произошло переполнение разрядной сетки мантиссы.

165

Обозначим:

 

 

 

 

 

6i — ошибка округления операций сложений;

поряд­

бвп— ошибка

округления

при

выравнивании

ков слагаемых;

округления

при

нормализации

резуль­

бн — ошибка

тата;

 

первого

и второго слагаемых соот­

h, /2— порядки

ветственно;

 

 

 

 

 

] dL1— модуль

мантиссы

суммы до нормализации;

{х, у)б, {х, у}м — функция от аргументов х и у,

прини­

мающая значение большего или меньшего из них соот­ ветственно.

Очевидно, что

 

{х у)б= (х + у)/2+ | х

у | /2,

{х, у}м ={х + у) /2— |х—у | /2.

Тогда можно записать

 

6i —бвп+ бн

(4.1)

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

8,п=Е.Р{,,' Ч ‘ .

В случае равенства порядков слагаемых выравнива­ ния не происходит и ошибка округления равна нулю:

s

_

^

” ^ 6

при

(4.2)

^ВП

 

О

 

при 1х — 1г.

 

 

 

 

 

 

Выражение

(4.2)

можно

представить в более

ком­

пактной форме:

 

 

 

 

 

 

8в/ =

?

/ "

' я}б{|/1- / 2|, 1}м.

(4.3)

Действительно, если

—/2| =0, то

 

{ \ к h \ , 1}м = 0,

6 в п = 0 .

Ошибка округления при нормализации результата возникает только в случае переполнения разрядной сетки мантиссы. При этом мантисса результата сдвигается на один разряд вправо с одновременным увеличением по­ рядка результата на единицу. Поэтому можно записать

ba =

^ {ll' h}6+]{E(\d,\), 0}б,

(4.4)

где Е(г) — значение

величины z, округленной

в мень­

шую сторону до единицы младшего разряда целой части; в данном случае это есть целая часть модуля мантиссы суммы.

Из выражений (4.1), (4.3) и (4.4) получаем

 

=

 

1}„ + р { £ ( № 0}б].

(4.5)

Поскольку

{£(|су), 0}б =

£ (|dE|),

то имеем

 

Ьг=Ь${‘"1’}Ж - Ц >

1}м +

р э д ) ] .

(4.6)

Для машин

с фиксированной запятой справедливо

/, = /, = £ ( К |) = 0

и ошибка округления операции сложения (вычитания) равна нулю (в нуль обращается выражение, стоящее

вквадратных скобках).

2.Операция умножения. Обозначим:

Ьг — ошибка округления операции умножения; |Я |— модуль мантиссы произведения до нормализа­

ции.

Модуль мантиссы произведения в зависимости от значений мантисс сомножителей может изменяться в пре­ делах

Э—а 11t<г- Q-:

1.

Г

 

Этот диапазон можно разбить на два соседних под­

диапазона:

- R-1—R-n

 

а) р-з*

 

б ) р - ‘-

М — 2 р - и + р - 2п.

 

Если в результате умножения модуль мантиссы про­ изведения примет значение из диапазона б), то это зна­ чит, что мантиссы произведения есть величина нормали-

167

зованная, и ошибка округления операции умножения в этом случае описывается выражением

8s = S„p,,+,\

Если же модуль мантиссы произведения примет зна­ чение из диапазона а), то это означает, что результат операции необходимо нормализовать путем сдвига ман­ тиссы на один разряд влево и уменьшения порядка ре­ зультата на единицу.

Выражение для ошибки округления примет вид

b2 = t0f +k~ \

если округление производится после нормализации ре­ зультата, и

б2= ^ 1+/а

в противном случае.

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

82 = ^ 1+/а+£{1ое?И}.

(4.7)

Действительно, если

р"1< ] Я1< 1 — 2р-та -}- р-£”, то

£ { ^ |Я |} = 0 и b2 = t0f +h.

Если же р"2 < | X| < р~1— j3-n, то

£{iog?Ui} = - - i И

Вероятности событий, заключающихся в том, что модуль мантиссы произведения примет в точности одно из значений, равных р '1 или ($~2, малы по сравнению с вероятностью попадания мантиссы в любой из этих диапазонов и неточностью выражения (4.7) можно пре­ небречь.

Если же округление мантиссы произведения выпол­ няется до нормализации результата (на практике так чаще всего и бывает), то общее выражение для ошибки округления операции умножения имеет вид

S2 = ^ 1+4

(4.8)

В цифровых машинах с фиксированной запятой ре­ зультаты операции умножения не нормализуются. Кром§

168

fOfo, для них справедливо выражение / 1 = 4 = 0 . Поэтому ошибка округления операции умножения для таких ма­ шин совпадает с величиной go-'

6 2 = go-

3. Операция деления. При делении мантисса частно­ го может оказаться нормализованной либо ненормализо­ ванной. В последнем случае происходит переполнение разрядной сетки, вследствие чего необходимо сдвинуть мантиссу частного на один разряд вправо, а его порядок увеличить на единицу.

В общем виде ошибку 6 3 округления, имеющую место при операции деления, можно записать так:

84 = ?0рг‘- г»+В(|’1),

(4.9)

где v — частное; £ (jv )) — целая часть модуля частного. Для машин с фиксированной запятой справедливо

6з=£о,

поскольку выполняется соотношение

/i= /2= £ ( | v|)= 0 .

Выражения (4.6) — (4.9) позволяют оценить макси­ мальные значения ошибок округлений, возникающих в процессе выполнения элементарных операций:

для машин с плавающей запятой:

I max =

(«.)„«£ “ “ 0 + 0 ) .

 

2 max

n g maxr “

 

 

: (Утj ' max,

 

для машин с фиксированной запятой:

 

бшах —О,

 

 

 

бгтах = бзтах^3 (go)max-

 

 

возмож­

Здесь /щах — максимальный порядок числа,

ный в машине, а

 

 

 

(go) max—

”/2.

 

Выражения (4.6) — (4.9)

показывают, что

ошибки

округлений элементарных операций являются функциями системы случайных величин, к которым относятся поряд­

ки Л, I? чисел, участвующих в операции, их сумма d ly

169

Соседние файлы в папке книги из ГПНТБ