Самарский А.А. Гулин А.В. - Численные методы (1078412), страница 6
Текст из файла (страница 6)
Предположим, что в результате округлешгя вместо точного значения г,, получено приближенное значение гч, Тогда согласно (7) вместо у,й!, получим величину 1! (су,йт,) =у,тт, (1+ в!), где )е!((е=2-'. Таким образом, вместо г, получаем 2,. = (1+ е,) утв! „ т. е, приближенное значение Е! удовлетворяет рекуррентному соот- ношению (22) Ы!=у!2, „)=-1, 2,, и, г,=1, где у,=у,(1+е!). Результирующая погрешность равна ч л гл гл —— 1г) У! — 1 ~ (1+ е!) У(, )=! /=! поэтому относительная погрешность есть =1 — П (1+ е!).
!=.! Для опенки относительной погрешности заметим, что )1+г,! =1+ е, 1'=1, 2,..., и, е=2-', поэтому с точностью до величин второго порядка малости относительно е можно считать, что е„— г„ -1 " (ие=и2 е (23) 5. Оценки погрешностей округления. Приведем примеры оценок погрешностей округления, возникающих в результате выполнения вычислительных алгорвтмон. Нас будет интересовать в основном зависимость результирующей погрешности от числа арифметических действий и и от величины е=2 ', определяемой разрядностью ЭВМ. П р и м е р 1. Вычисление произведения л ге= П у! )=т и вещественных чисел проводнтся по формуле а!=уз! „)=1,2...и, г,=1. (21) При выводе оценки (23) предполагалось, что н=2-', т.
е. при перемно>кении не возникает чисел, меньших машинного нуля или больших машинной бесконечности. Однако может оказаться, что на каком-то этапе вгячислений в качестве промежуточного результата будет получен либо машинный нуль М„либо машинная бесконечность М . Поскольку оба указанных случая приводят к неверному окончательному результату, необходимо видоизменить вычислительный алгоритм. Оказывается, что здесь сушествеиным является порядок действий. Пусть, например, М,=2 ' и М =2' при некотором р>0. Предположим, что надо перемножить пять чисел д,=2'", д,=2"", д,=2'"", д,=2 "', д,=2 "".
Каждое нз этих чисел и их произведение 2"" принадлежат допустимому диапазону чисел (Ч„М ), Однако произведение д,дтд,=й'""'>М„, поэтому при указанном порядке действий дальнейшее выполнение алгоритма становится невозможным. Если проводить вычисление в порядке д,д,д,д,д„то получим д,д,=2 ""<Мм следовательно, П(д,д,)=0 и все произведение окажется равным нулю, т. е.
получим неверный результат. В данном примере к верному результату приводит вычисление произведения в порядке дьдтд1УЛь В случае произвольного числа л сомножителей можно предложить следующий алгоритм вычисления произведения (см. [61). Предполо>ким, что 1д)«)дт1«" «)д.) причем )у,1<В )у,))п Будем сначала проводить умножение в порядке у,учу,... до тек пор, пока впервые не получим число, большее единицы.
Затем полученное частичное произведение будем последовательно умножать иа дь уз и т. д. до тек пор, пока новое частичное произведение не станет меньше елиницы. Процесс повторнется до тек пор, пока все оставшиеся сомножителя будут либо только большими единицы по модулю, либо только меньшими. Далее умножение проводится в произвольном порядке. П р и м е р 2. Рассмотрим процесс вычисления суммы д,-) да+...+д„. (24) Для простоты изложения предположим, что все д, положительны и больше машинного нуля. Тогда в процессе вычислений не может появиться нулевого результата. Алгоритм вычисления суммы (24) состоит в решении разностного уравнения (10) при начальном значении з,=0.
Получим уравнение, которому удовлетворяет приближенное пешение лп Предположим, что вместо точного значения г,, в результате накопления погрешностей округления получено приближенное значение з,, Тогда согласно (7) вместо г> получим число г =11(т,,+д,)=(1+в,) (2>,+д;), где )е,) «2 '. Таким образом, приближенное значение лг удовлетворяет разностному уравнению г,=д>л,,+дь 1=1, 2, ..., л, Т,=О, (25) 23 гда Ч,=!+ел У,=(!+е,)У,. Можно считать, чта УРавнение (25) получено из нсходнога уравнения (10) путем внесения возмущений в коэффициенты и в правые части, причем для каждого ! возмущение пропорционально е, и не превосходит 2-'.
Оценим теперь результирующую погрешность 2„— г„. Для этапа выпишем в явном виде решения уравнений (10) я (25), предполагая, что г,=г,=0. Согласно (16), (18) имеем л л гл = Я уь гл= ~'„Ял,л-хум 4=> 4=> где ул=у„у,, Поэтому для погрешности получим следующее выражение; л гл — гл = ~~ Елэуы (26) 4=> где дл — 1, А=и, Ель = Уел,л-л — ! = длил, , дх„ул — 1, й=1, 2, ...,п — 1. (27) ~ у„у„,...
У„) <1+ (п — й+1) е, !Е„„/ ((п — 2+1) е, у=1,2,..., п. и тогда (28) Из формулы (26) легко получить оценку относительной погрешности 1г„— г„/!/г„!. Заметим сначала, что для положительных у„..., у„последовательность гь определенная согласно (10), неотрицательная и монотонна возрастающая, т. е.
0«-"г,, -'г„, у=1,2,...,п. Поэтому для у,=г,— г,, справедливо неравенство 0<у„()г,)+)гл,)<21г„), у=1, 2, ..., п. Отсюда и из (26) получим оценку л ( гл - — .-„) ( 2 ! г„! С~ 1 Е ~ ). Учитывая приближенное неравенство (28), приходим к следующей 24 Коэффициент Е„, в формуле (26) указывает, какую долю погрешности вносит й-е слагаемое суммы (24) в общую погрешность. Покажем, что чем меньше номер й, тем большая погрешность вносится за счет у„.
Для этога оценим приближенно величины Е., '>ак как д,=1+а„и 1е,)(в=2-', то (д„( =1+а, )у.у., а„,д,)~ (1+с)" — '". Отбрасывая величины второго порядка малости агнасительна е, можно считать, что оценке относительной погрешности: г„— г„ ( ею (н + 1), е = 2 е„ Следовательно, относительная погрешность, возникающая прн суммировании н положительных чисел, оценивается примерно как н'2 ', ~де ! — число разрядов, отводимое для записи мантиссы. Например, при 2-'=!О ", а=10' получаем, что результирующая относительная погрешность не превзойдет 10-'. ч 3.
Разностные уравнения второго порядка 1. Задача Коши и краевые задачи для разностных уравнений. В п. 4 5 2 рассматривалась задача Коши для разностного уравнения первого порядка, Обратимся теперь к линейным разностным уравнениям второго порядка а,у,,— с;у;+ Ь,у;,, = — Уь (1) где а., Ь, с„1, — заданные коэффициенты и правая часть и у — искомое решение.
Индекс 1 в уравнении (1) пробегает некоторое допустимое множество У целых чисел. Например, У= (О, 1, 2,...), У= (1, 2,..., %-1), У= (О, -~-1, -~-2,...), где Л ) 1 — заданное целое число. Всюду в дальнейшем будем предполагать, что Ь,ФО, а;~0 для всех допустимых 1, Коэффициенты, правую часть и решение уравнения (1) следует рассматривать как функции целочисленного аргумента !с=У, т. е. у,=у(1), (,.=) (У) и т. д.
Уравнение (!) имеет бесконечное мкожество решений. Каждое отдельное решение называется частным решением уравнения (1). Общим решением уравнения (1) называется такое двухпараметрическое семейство решений, которое содержит любое частное решение. В пп. 3, 4 будет показано, каким образом строится общее решение уравнения (1). Для того чтобы из совокупности всех решений уравнения (!) выделить единственное, необходимо задать те или иные дополнительные условия. Задача Коши состоит в отыскании решения уь 1=0, 1,2,..., уравнения (1), удовлетворяющего прн 1=0, 1 заданным начальным условиям (2) уа=р~ у~=из Если Ь,,ФО для всех допустимых 1', то уравнение (!) можно разрешить относительно унь т.
е. записать в виде ас с,. У1ы = У1-1+ — У! — —. (3) ь ' ь, ь Отсюда следует, что задача Коши имеет единственное решение. 2Б Более общая постаиовка задачи Каши состоит е отыскании при всех 1 О„ ~1, ~2,... решения урквиеиия (1), удовлетворяющего условиям у, =Иь у/ееа=рх с заданными /а, р„ра, Если аалто, Ь/ФО для всех /, то такая хадича имеет единственное решение. Краевая задача состоит в отыскании решения уравнения аау,,— с,у,+Ь,у,,= — )и /'=1, 2,..., Ь/-1, (4) удовлетворяющего дополнительным условиям уа мау!+ )аа ул наук — ~ + ра (5) где к„ и„ /'= 1,2 — заданные числа. В частности, при м,=к,=О получаем краевые условия первого рода Уху рм //к=ра, (6) а при к,=к,=1 — краевые условия второго рода.
Достаточные условия существования единственного решения краевой задачи (4), (5), а также алгоритм построения этого решения будут указаны в и. 7 у 4. 2. Однородное разностное уравнение второго порядка с постоянными коэффициентами. Рассмотрим разностное уравнение ау,,— су,+ЬУ,,=О, аФО, ЬФО, (7) с вещественными коэффициентами а, Ь, с, не зависящими от /. Будем искать частные решения уравнения (7) в виде У/=Ч'а (8) где Ч вЂ” число, подлежащее определению.