Б.П. Демидович, И.А. Марон - Основы вычислительной математики (1132358), страница 14
Текст из файла (страница 14)
ш вычисление значений эьнкций 86 3 а ме ч а н и е. Так как расчет суммарной погрешности представляет собой весьма трудоемкую операцию, то на практике для обеспечения заданной точности е = 10 " все промежуточные вычисления производят с одним нли двумя запасными знаками. При этом не вполне строго предполагают, что допущенные погрешности не повлияют на десятичные знаки «г-го разряда искомого результата. Заметим, что при решении этого примера приходилось находить сумму сравнительно большого числа слагаемых. На практике данный ряд стараются предварительно преобразовать так, чтобы для достижения искомого результата можно было ограничиться малым количеством членов. Такого рода преобразование называется улучшением скодимости ряда и во многих случаях значительно экономит время вычислений.
Этот вопрос рассмотрен в главе т'!. й 5. Вычисление значений аналитической функции Действительная функция у (х) называется аналитической в точке $, если в некоторой окрестности ]х — $ ~ ( Я этой точки функция разлагается в степенной ряд (ряд Тейлора): у(х) =Т($)+Т"'($)(х — в)+ — (х — $)'+... + ! ~ ~ ( ~ ) ( ь ) и + ( 1 ) л! При й = 0 получаем ряд ~1!аклорена У(х) =~(0) +у'(0) х+ —,х'+...
+ — ', х" +... (2) ! (о) 1 "~(о) „ Разность )с„(х) =г"(х) — ~~', , (х — й) ! 'а' (ь) а называется остаточным членом н представляет собой ошибку прн замене функции г(х) лолиномом Тейлора л Р„(х) = ~~', н, (х — $) . 1и'(с) я я=о Как известно [1], Р"+п(с+8( — с)) (3) (н+ 1)' где 0(0(1. В частности, для ряда Маклорена (2) имеем [1]: рн+н (Ох) (4) (л+1)! где 0(0(1. Имеются также другие формы остаточных членов. Разложение функции в ряд Тейлора во многих случаях является удобным способом вычисления значений втой функции. Если у'Я) известно и требуется найти значение у'($+ Ь), где Ь вЂ” кмалая поправка», то формулу (1) выгодно записывать в виде ,Г(6+Ь) =7(6)+у" ($)Ь+ Ь'+...
-)- —,' Ь"+)т'„(Ь), (5) где Пример. Приближенно найти )/!О. Решение. Имеем: У'~О =)/З +1 = 8 (1+ — ') *. (6) Полагая /(х) = (1+ х) ' ' последовательно получим У" (х) = — (1+ х) з ~'(х) = — — (1+х) з у"" (х) = — (1 + х) 3 15 г !у (х) = — — П -(- х) 16 1 Отсюда, приняв $ = О, Ь = — и учитывая, что 9 У(О)=1, У'(О)=-, У"(О)=--, 7 (О)=-, 1 2 ' в силу формулы (5) йаходим: 1 )= 1~з 1 ! 1 1 1 1 1+ — ) =1+ —.— — — — + — — +!с = 9) = 2 9 8 '81 !6'729 з= = 1+ 0 05556 0~00154+ 0~00009+ )(з = 1 ~05411+ йз~ (7) где 7 ! 680616 ~ 9 ) (0( О(1). % 5) вычислвнив значений лналитичвской вгнкции 87 вычислкник значений еьнкций (гл.
ш Очевидно, 1О ()7а(( ! 6808!6 (6'!О Из формул (6) и (7) получаем: 1l~ О = 3,16233+ Е, (8) где (Е)(3, . 1О-а+ 3.6.10-з 3 3,10-а Округляя найденное значение до четырех знаков после запятой, окончательно будем иметь: ф'10=3,1623 ~ 6.10 а. Для сравнения приводим табличное значение У!0=3,1622777... й 6. Вычисление значений показательной функции Для зкспоненциальной функции е" справедливо разложение (1) ха х" е"=1+х+ — +... + — „+... 2! ' ' ' н! интервал сходимости которого — оо(х(+со. Остаточный член ряда (1) имеет вид зах )7„(х) = —,„' „,х"' (0-.-6(1). (2) При больших по модулю значениях х ряд (1) мало пригоден для вычислений.
Поэтому обычно поступают следующим образом: пусть х = Е(х)+о, где Е(х) — целая часть числа х и О~ау(! — дробная часть его. Имеем: е" = ен'"'еч. (3) Первый множитель произведения (3) может быть найден с помощью умножения: Е (и раз ек'"'=ее ... е, если Е(х) ~0, нли -Е (х! раз ! 1 1 ее<а'= — ° — ... —, если Е(х)(0, е е''' е' 9 6] Вычисления знлчвний покхзлтвльной ФУнкции 89 где е = 2,71828 18284 59045 ... — = 0,36787 94411 71442..., 1 причем е или †, для обеспечения заданной точности, следует взять с достаточно большим числом десятичных знаков (в настоящее время число е определено свыше чем с 250 десятичными знаками). Что касается второго множителя ее произведения (3), то для вычисления его пользуются приведенным выше разложением ее = ~~' (4) или при 0 < () < 1, учитывая, что л+2 л+! — <— а+! л окончательно будем иметь: О <)7„(д) < — ',", т.
е. 0 < Я, (р) < и„— „, ла где и = — — последний сохраненный член. л! (6) которое при 0~0< 1 образует быстро сходящийся ряд, так как на основании формулы (2) для остаточного члена )7„(д) имеем оценку 0,() < 3 "+Ч Выведем более точную формулу для оценки остатка И„(9) при 0<о<1. Имеем: еи+1 ее+э пее (л+ ! й (л+ 2) ! + (а+ 3) ! + ' )1 е ч' (л+!)! ) и+2 (л+2) (и+3)+' <,„'+",,, ~1+ +,+(+,)*+ Отсюда, суммируя геометрическую прогрессию, стоящую в квадратных скобках, получим: еи Ф 1 ~" (7) < ( +!В (5) 1 —— л+2 90 Вычисление знь'!ений Функций (Гл.
!и Рсли остаточная погрешность е задана, то необходимое число членов и можно найти подбором, решая неравенство Приближенное вычисление е" по формуле (1) для малых х удобно производить по схеме е"=и,+ и,+и,+... + и„+!Ч„(х), (7) где и,=1, и„= »-' (и=!, 2, ..., Л). На счетных машинах вычисления удобно вести по схеме х и» = — и е»=е»,+и» (й=О, 1, 2,...,л), где и =1, Л„=О, е =1. Число е„= ~ — приближенно дает »! искомый результат е".
Если е — заданная допустимая остаточная погрешность и и ) -2!х ) ) О, то процесс суммирования следует прекратить, как только будет выполнено неравенство 1 —— л+2 < = — ° — <)и )а е, 2!х!"+1 2!х( !х!" (л+1)! = л+1' л! л т. е. если ) и„(х) ) ~ е.
(9) ( 1с„(х) ( < ! и„!. Для расчета суммарной погрешности следует общей схемой (2 4). Пример 1. Найти )Уе с точностью до 10 '. Решение. Принимаем остаточную погрешность пользоваться е,= — 10»=2,5 1О ' 1,! Иными словами, процесс суммирования прекращается, если последний выработанный член и„по модул!о не превышает е, при атом з 6) вычислении значений поклзатальной етнкции 01 Так как тогда число слагаемых в сумме (7), по грубой прикидке, ! поридка десяти, то слагаемые подсчитываем с точностью до — ° 1О т.
е. с двумя запасными десятичными злаками. Полагая и= ь' (Й=1,2, ...), последовательно имеем; и,= 1 и, = — = 0,5000000 2 и, =' — ' = 0,1250000 т и, = — ' = 0,0208333 3 6 иа = — '= 0,0026042 8 и, = — ' = 0,0002604 и, = — ' = 0,0000217 и, = — ' = 0,0000016 7 !4 I 1,6487212 Округляя сумму до пяти десятичных знаков после запятой, получим: )l е = 1,64872, (10) с суммзрной погрешностью е< 1,6.10-в+5,, 10-г+1 2.10-в 3 05,10-в < . 10-а 2 т.
е. все знаки результата (1О) верные в узком смысле. Для вычисления е" можно использовать также разложение в цепную дробь (4) сходящуюся для любого значения х (действительного или комплексного). Пример 2. Найти ) е, пользуясь формулой (11). вычисление значений ехнкцнй [гл. ш 92 ! Р е ш е н и е. Полагая в формуле (11) х = —, составляем таблицу подходящих дробей для соответствующей цепной дроби. Останавливаясь на 5-й подходящей дроби, имеем: )' е — '= —: — — =1,648721 — Рд 34361 2034! 34361 !6 16 2064! ! с точностью до — ° 10 4. 2 Для вычисления значений общей показательной функции а" (а) 0) можно использовать формулу !пя л !ива па=1+(п а х+ —,х'+ —,ха+...
2! 3! й 2. Вычисление значений логарифмической функции Для натуральных логарифмов чисел, близких к единице, справедливо разложение (1) .л хз х~ !п (1+х) =х — - — + — — +... 2 3 ... + ( — 1)" ' — „+... ( — 1 < х <». (1) Формула (1) малопригодна для вычислений, так как диапазон чисел 0(1+х~2 невелик и, кроме того, при )х), близком к единице, ряд (1) сходится медленно. Введем более удобную формулу для вычислений натуральных логарифмов чисел. Заменяя х в формуле (1) на — х, будем иметь: хт х' х' хп 1п (1 — х) = — х — — — — — — —... — — —...
2 3 4 (2) Вычитая почленно из формулы (1) формулу (2), находим: ! — х кг хг !п — = — 2 ~х+ — + — +... ). 1+к ~ 3 5 Полагая 1 — к — =к> !+х получим: ! — г х=— !+г н, следовательно, ! п к = — 2 [: -(- — (:~) -(- — (:~) -(- ...~ (3) при 0 ( к(+ оо Пусть х — положительное число. Представим его в виде х=2 х, 1 где гл — целое число н — =."к( 1. Тогда, полагав 1 — г 1+1 где 1 1 —— 1 3 ' 2 1 !+— 2 и применяя формулу (3), будем иметь: !и х = !и 2 "к =.
лг 1п 2+ ! п к = $3 3 =лг!и 2 — 2 ! 9+ — +. где (3313+1 (33+3 1333+1 гс =2! + ~2л+1 ' 2л+3+2л+5+ ' ' ') $3 л Е 1 <2 (1+93+9~+ $36+ 1 ) < 1 — $1 2л+1 При 0<9< — имеем: ! 3 2 9 ( ! — $3 4 ' и поэтому 9 ~33+1 0 <)т' ( — °вЂ” л 4 '2л+1 (4) или, более грубо 9 7! вычисление значений логлгиемической егнкции 93 вычисление значений екнкций !гл. ш Введя обозначение 5$г-1 «г=2А — 1 (7г=!, 2, ...), получим: 1п х = тл !п 2 — 2 (и, + и, +...
+ и„) — гс„, где !п2=0,69314718 ... (5) Процесс суммирования прекращается, как только и„( 4е, Предельную погрешность суммы ~ив можно оценить, задавшись г=г определенным количеством десятичных знаков слагаемых м установив на основании формулы (4) примерное число слагаемых и. Пример. Найти 1п 3 с точностью до 1О ь.
Р е ш е н и е. Вычисления будем производить с двумя запасными знаками. Положим 3 = 2г ° — = 2' 0,75. 3 4 Отсюда «=0,75 и = — = — = — = 0,1428571, ! — г 025 1 1+г ! 75 7 Имеем; и = 5 = 0,1428571 $в и, = 3 — — 0,0009718 и, = — = О,ОООО!19 5г г= 5 иг —— 7 — — 0,0000002 0,1438410 Используя формулу (5), получаем: !п 3 = 2 0,69314718 — 2 ° 0,1438410 = 1,09861. 3 а и е ч а н и е. Можно также вычислять натуральные логарифмы чисел, исходя нз представления х= ел«, где р — целое число и — ~ « ~ 1 (см. !5!).
е где е †допустим остаточная погрешность, так как тогда в силу формулы (4) имеем: 9 г $г" г ! 4~ 2п — ! 4 где М = ! и е = 0,43429 448! 9 03252 й 8. Вычисление значений тригонометрических функций А. Вычисление значений синуса и косинуса С помощью формул приведения аргумент х можно заключить в отрезок Он-:'х~ —. Если 0 ~х( 4, то имеем: и и хйп+ 1 в)их= ~ ( — 1)" н=а и н если же — (х( —, то полагают .4 2' тл т в)ох=сова=~~» ( — 1) —, (2л)11 (2) и и где х= — — х и О~зж —. 2 4 Сумму ряда (1) удобно вычислять процессом суммирования з)п х = и, + и„+... + и„+ )с„, (3) где слагаемые иа (л = 1, 2, ..., л) последовательно находится с помощью рекуррентного соотношения «$ пт х' па+4 2а(2й 1)иа (А=1, 2...,, и — 1). + Так как ряд (1) знакочередующийся с монотонно убывающими, по модулю, членами, то для остаточного члена Й„справедлива оценка лап+~ (2 + 1)! и знп )с„= зип и„,. Поэтому процесс суммирования можно прекратить, как только будет обнаружено, что (и„'~в, где в — заданная остаточная погрешность.