Файл: Основы теории алгоритмов учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.10.2024

Просмотров: 92

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

- 124 -

 

Приведен (4.45) к линейной схеме ( Л -

схема)

F*(С'*"((<Я°+с,1&0+®а1>г)+-"+С?т£тЗ •

(4 4g) !

В (4.46) кавдая скобка реализуется линейной функцией. Колинеот-

0 0 обращений к алгоритму линейной функции определится порядков m .

/

 

125 -

 

Г Л А В А 7

 

СИНШ АЛГОРИТМОВ ВЫЧИСЛЕНИЯ НЕКОТОРЫХ ФУНКЦИЙ

 

ПРИ ОГРАНИЧШОЙ ДОТЕ РАЗРЯДНОЙ СЕТКИ УВМ

 

5 .1 . Некоторые Функции о повышенной точеоотью

 

вычислений в клаосах степенных разложений

j

и итерационных поопессов

В настоящее время известен ряд численных методов начис­

ления элементарных функций [61,623. Выбор того или иного ме­ тода среди известных зависит от специфики вычислительной ма­ шины и требований, предъявляемых к показателям алгоритма вы­ числения.

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

функций.

 

 

 

При вычиояешш

значения функции на машине широко исполь­

зуются различные численные методы; разложение в ряд Тейлора-

Маклорена, приближение разного рода многочленами,

метод

итера­

ций |б З ,6 4 | .Любой из

этих вычислительных методов

и ряд

других -

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

 

Еоли для достижения необходимой точности требуется обра­

щаться к такому участку N *

раз,

который проводит вычисле­

ния с

к -аначной точностью,

то

общее вреда реализации

 

 

 

 

(5.1)

где

Й ч - время реализации отдельного участка о

к -значной

точностью.

 

 

 

 

Каждый участок состоит из простых операций

(сложение,

вычитание, умножение), которые выполняются с повышенной точ­

ностью. Как была показано

в главе 1У, время - tw

тем больше,

чем выше степень точности

к .

Отсюда величина

Т раотет

о увеличением к ♦ Более того,

с ростом степени точности рао-


- 126 -

тех я число обращений N k к повторяющемуся участку» Например, с ростом точности в ряде Тейлора следует выбирать большее число

членов разложения.

 

Очевидно, что значительный роот времени Т

может при­

вести к нежелательным показателям эффективности

алгорит­

мов управления. В связи о этим в настоящей главе рассматрива­

ются некоторые возможности уменьшения N k и 4!Чч

в различных

клаооах вычисления элементарных функций.

 

 

 

 

 

 

 

В классе отепенных разложений Тейлора-Маклорена функция

 

 

 

S

C

*

 

Р

xCiVfi

X

-

 

 

i

#

 

 

 

 

)

о •

 

 

 

Согласно [ б 1 ,

для

 

 

1=0

 

 

 

 

 

 

 

знакочередувдего ряда оотаточный член

 

 

 

 

J

R

p l

 

 

<

!

О р

+

П

 

,(5,2)

где

 

Q p*i— ({>*<)

 

 

-й член ряда.

 

 

 

 

 

 

 

Боля вое члены ряда одного знака удовлетворяют условию

то

конечный член ряда

 

p>

qq

1

 

 

 

 

 

 

 

 

 

G

 

 

5

 

 

 

 

Отоада оотаточнай член

R

p

l

« l

a

p

l

-

 

 

 

 

 

 

|

 

 

 

 

 

Для многих степенных разложений элементарных функций,

содержащих в знаменателе

j

!

,

в

интервале изменения аргумен­

та

+ l ]

при

р > 4

 

условие

(5.3) можно записать

так:

 

 

 

 

 

I RP I <

1«р I •

 

 

 

 

(5-4) '

 

&

Конечный р

-член

ряда

заданной абсолютной погрешности

 

при выполнении (5 .2)

н (5,4) можно выбрать из условия

 

 

 

 

O p

^

^

0(i+i

>

 

 

 

 

»

где

 

Op

и

О р н

-

 

максимальные значения членов

на всем ин-

тчдвале изменения аргумента.

 

 

 

 

 

 

 

 

 


- 127 -

 

Реализуя

Р +*

член разложения по схеме Горнера,

оо- |

глаоно (5 .1)

и

(4 .27), получиы^для

N « = p

 

 

 

j

 

Т = * р £ * ч — р ( ^ м

+ - ^ уин)

 

 

 

 

 

 

'

 

 

'

 

 

 

 

 

 

 

(5.5)

 

 

 

* р ( к И о + 1< ш ^ в ) - p k ( £ + k m ) i 0 .

 

 

 

Пусть для

 

И

-разрядной сетки

сГ= 2 н ,

а для повышенной

точнооти абсолютная ошибка метода 8 я

2 *

. Обозначим через

N i

порядковые номера членов ряда,

которые обеспечивают точ'

нооть вычисления в

(

i n

) -ы разряде

t=

1 , 2 , . . . ,

к

,

тогда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Out

>

2 ' ы > й н т .

 

(5.6)

 

 

Для достижения точности в

( ia K )-м разряде из (5.6)

 

следует

система

 

 

 

 

 

 

 

 

 

 

■ .

 

 

 

 

 

 

 

 

a Hi > Т *

>

 

 

 

 

 

 

 

 

 

 

 

 

С(щг У 2

> Q n*.+1

у

 

 

 

 

 

 

 

 

atiK > 2 ~ kH> a N^ i

,

(5.7)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

%

 

 

 

где

Ык=Р

,

a

 

Nt(+I ■

р+ I.

 

 

 

 

 

Преобразуем

(5 .7) к виду

 

 

 

 

 

 

 

 

 

'

Ос

 

 

а ,

 

 

Q

a

 

Он, > 2 ~И

 

(5.8)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2~*

>

 

Он, +1

Q^+z

. . .

Qfi/Z> 2

 

 

 

 

< г *

>

 

&НС+1

0*1+2

• • ■W««)^ 2 ^

 

 

 

 

2 ‘ (' 0">

а . , . ,

Ow-f+2

• Cli/K> 2~*w

 

 

 

2 ~ к* >

 


 

 

 

 

 

 

 

- 128 -

 

 

 

 

 

 

Из (5.8) видно, что члены

 

 

,

Qn k- , +z

i . . . * 0

iv* не пре­

вышают значения

Ы к

 

 

и при выполнении уоловия (5,2) и

(5 .4)

 

 

 

 

 

.

 

,

 

 

 

 

 

 

 

£ _

а *

 

<

 

 

 

 

 

(5.9)

 

 

 

V-Nit+1

 

 

 

 

 

 

 

 

 

 

Таким образом,

суммирование данных членов рада можно

проводить с одинарной точностью.

 

 

 

 

 

 

 

Для членов

 

 

 

 

 

 

,.«».C Iiyh можно запи­

сать,

что

 

(

 

 

 

 

. - (К-2) И

 

 

 

 

 

 

 

X

а *

<

 

 

 

 

 

 

 

 

2 '

 

 

 

 

(5.Ю )

 

 

T=Nk-i +1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и суммирование этих членов рада следует проводить не ниже,

чем о удвоенной точностью.

 

 

 

 

 

 

 

 

 

Неравенство

(5.10)

совместно

о (5.9)

дает

 

 

 

 

 

Nк

 

 

 

 

 

 

 

 

 

 

 

В общем олучае для членов C?Wi4|

М

ы

2с

О бусловив

 

 

 

W;-m

 

 

 

 

 

 

 

 

 

 

 

 

 

X

a *

<

2

гЫ

 

 

 

 

 

 

 

 

 

<Р* NiH

 

 

 

 

 

 

 

 

 

 

 

позволяет сумму этих членов вычислять о точностью

E k - l 3 .

С учетом последующих членов

 

 

 

 

 

 

 

 

 

1

>

<

2

Л

 

 

 

 

 

 

 

Для

i s

I имеем первые члены Of.,

0< ,Cfa , . . . , Ofv(

,

суммиро­

вание которых вдет

о

К -значной точностью.

 

 

 

 

Таким образом, вычисляя с

 

к-значной точностью пер­

вые члены рада,

а остальные с

точностью, меньшей

к

,

значи­

тельно улучшим показатель

Ь

эффективности алгоритма.

Как

правило,

степенные разложения Тейлора-Маклорена на вычислитель­

ных машинах реализуются по схеме Горнера или с использованием рекурентных соотношений. Поэтому вычисление оуммы рада начи­

нается о младших членов ( Q p , O

p - i

, . , . с, одинар0 ^ ­ 0

ной точностью. Затем переходим к

удвоенной точности и так да-


)-

 

 

89 -

 

 

 

 

 

 

 

лее. Заканчиваем вычисления о

к -значной точностью.

Повторяющийся участок вычисления но схеме Горнера со­

стоит из операций умножения и оложения. Поэтому

 

.CK-U-oJ

iTK-CH)]

гСк-t-OJ

 

t v 4

— "Сел

-I-

х . smh

=

 

 

= [ k - ( £ . - 0 ] { f c + [ k - ( i - 0 ] m ] t o .

 

Общее время реализации всего ^яда

 

 

Т -

+ (Nz- N i) -Ьуч + •■• + (N k- N*-4) ^

 

: N i[6 +(2k -f)ftl]+*** +

N/tf-i ( £ +5 гс)+№*н (£+Згп)+М ((£+м).

Отовда

 

 

 

 

 

Т

- X

N i { 6 + [ 2 ( X - 0 + i ] w } .

(5,11)

При реализации ряда Маклорена по схеме Горнера для хранения постоянных коэффициентов % ^ \ о )

лс ‘ “ Т Г

членов ряда О

j =С^ X

требуетоя объем долговременной

памяти

D - ( N - H ) К « ( р + * ) К .

 

 

 

 

 

(5.12)

Однако

этот

объем значительно уменьшается, воли учесть,

что для хранения констант Су*., +<

, Су^+л... .. Су* достаточно

по одной ячейке (из

системы (5.8)

данные члены меньше 2 " 0 ^ и),

для констант Сук-л+<

.........достаточно по 2 ячейки, а для

констант Со ,

С» , .. . , С у ,

необходимо но к ячеек.

Тогда объем долговременной памяти

D - ( N 4 M ) K

+ ( N a- N i ) ( k - 0 + ( N . - N 0 ( K - 2 ) + ... +

+( N1 - Nl-i) [k - ( t- о] +• *•+(Nk-i+ IVif-i)2+(Nk-IYk-i

=k + Ni 4- Nz + --- +Nk,

или