Дьяченко В.Ф. Основные понятия вычислительной математики (1185904), страница 4
Текст из файла (страница 4)
Задачи 1 Оценить зависимость со ат я в формуле (42). 2. Дава таблица % О 1 Аппроксимировать ее линейной функцией по методу наименьших квадратов. Затем аппроксимировать ее линейной функцией, используя для оценки отклонения ве (45), а шах (Ф(хт) — )з(=б. т Сравнить полученные функцви с ивтерполяциовным полиномом второй степени, построенным по тем же точкам. 3. Получить квадратурные формулы, используя ивтерполяциовные поливомы нулевой, второй степени.
Оценить, возможно точнее, порядок ошибки этих формул. 4. Построить формулу вычисления второй производной табличной функции. Оценить ошибку. 24 б. Функция двух переменных Р (х, у) садака таблицей )о, а 1о, а )ь о 1-ь о )о, -а Построить квадратурную формулу для вычисления интеграла Цр(*, у) ьау, ы+ов~ьв используя в каждом октанте линейную интерполяцию по двум пере- менным. й 3. ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ Рассмотрим не самую сложную,но типичную для таких уравнений аадачу.
Требуется найти функцию Н (~), удовлетворяющую при т ) О уравнению во' — = 1т(г, У) оа (51) и принимающую при 1 = О заданное значение 1У (О) = Уо. (52) Как известно из теории обыкновенных дифференциальных уравнений, если правая часть (51), Р (Ь Ь)о удовлетворяет как функция своих аргументов определенным условиям гладкости, то решение задачи (51), (52), У (1), существует, единственно и является гладкой функцией. Мы будем предполагать, что эти условия выполнены. Случаи, когда У (1) может быть выражена через элементарные функции или интегралы от них, являются исключительными. Как правило, единственным средством решения задачи (51), (52) окааываются численные мета-1 ды. Онн, конечно, дают ограниченную и приближенную' информацию о решении, но авто являются универсальными.
Опишем простейший из них — метод Эйлера. Прежде всего, область непрерывного изменения аргумента 1~ 0 заменяем дискретным множеством точек в„ = пт, и = О, 1, 2, ..., (53) где т — некоторое фиксированное малое число — параметр численяово метода. Вместо Функции У (>) будем рассматривать таблицу (54) с„, и„, и = О, 1, 2, Далее, так как,по определению производной>>(с>/й есть предел отнозпвния (П (г +т) — У (г))/т при т-~ О, те заменяя производную этим конечным отношением, получим вместо дифференциального уравнения (51) равностное уравнение (55) п = О, 1, 2, или (55') и„+,=и„+тР(с„,и„), п=0,1,2,... Таким обраэом, полагая, в силу (52), (56) ио = П» мы с помощью (55') можем найти последовательно все и„.
Построение вычислительного алгоритма закончено. Его ценность, естественно, будет определяться тем, насколько хорошо таблица 1„, и„воспроизводит точное решение исходной эадачи (51), (52) — функцию У(1). Для выяснения этого вопроса положим и„= П (с„) + Ьи„ (57) и попытаемся оценить величину ошибки Ьи„. Подставляя (57) в разностное уравнение (55), получим м = Р (1„, У(1„) + би„')— (58) Оценим правую часть. Поскольку У (1) — гладкая функция и удовлетворяет (51), то П(1„„)=и(с„)+ ("„~), +О( ) = П (~») + тр (~»> >' (~»)) + 1)'(т )> откуда =Р(е„, У(1„))+О(т).
(59) Сравнивая это равенство с (55), отметим, что точное решение исходной дифференциальной задачи удовлетворяет рааностному уравнению (55) с точностью О (т). Подставляя теперь (59) в правую часть (58), можем написать Ьи~ы — си~ " = Р(8„, У(1„) + бы„) — Р9„, У(г„)) + О(т). (60) Из условий гладкости, наложенных на Р (г, О), следует справедливость неравенства 1Р(8„,0(8„)+би„) — Р(8„, У(8„))/~М/би„/, (61) где М вЂ” некоторая константа.
Используя (61), находим из (60) /би 1/~(1 + тМ) /Ьи„/ -/-0(т')„(62) Формула (62) дает оценку роста ошибки за один шаг. Поэтому для ошибки, накопленной за Ф шагов, имеем Ьия/<0(т')-/-(1+тМ)/Ьил т/~ я-О(тз) -/-(1 -/- тМ) (О(те) -/-(1 -/- тМ)/Ьищ,/) = ( О (тз) + (1 + тМ) 0 (тз) -/- (1 -/- тМ)' О (т') + + (1 + тМ)" ' 0 (тз) + (1 + тМ)" / би, /, откуда, суммируя геометрическую прогрессию со знаме- нателем 1 -/- тМ, имеем /Ьи./«",1"+),"-,'О(т)+(1+тм) /би,/.
(62) Нас интересует величина ошибки при и а л ы х т для любого ф и к с и р о в а н н о г о г. Полагая е = Хти учитывая, что (1+тМ) =(1+тМ)о' — еьп при т — О, получаем из (63) /би(г)/<еаиО(т)+е~ /бис/. (64) Поскольку Ьи, = и, — У, = О, то отсюда следует, чте при т-э О ошибка Ьи на любом конечном интервале г стремится к нулю.
Итак, мы доказали, что при достаточно малом т таблица г„, и„, получаемая методом Эйлера, как угодно точно аппроксимирует решение исходной задачи (51), (52). Мы не получили критерия — какое т следует считать «достаточно малым» для достижения заданной точности. Мы установили лишь факт сходимости приближенного решения к точному при т -э О. Можно было бы, используя вместо обозначений 0 (т), 0 (т«) более содержательные выражения, дать количественную оценку величине ошибки — для этого пришлось бы преодолеть лишь чисто технические трудности. Но дело в том, что такая оценка была бы сильно аавьппенной и все равно малопригодна для вычисления фактической ошибки. Поэтому, в случае необходимости, для определения достигнутой точности поступают следующим образом.
Так как и-~- У при т-«- О, то начиная с некоторого т первые значащие цифры и перестают меняться — они отвечают точному решению. Произведя несколько расчетов с различными т и сравнив результаты, получают представление о достигнутой точности. С этой точки зрения более удобны методы с р е з к о й зависимостью величины ошибки от параметра т — методы высокого порядка точности. Порядок точности метода Эйлера — минимальный, и — У = 0 (т). Очевидно, это связано с довольно грубым способом аппроксимации дифференциального уравнения разностным. Качество аппроксимации оценивают по точности, с которой решение исходной задачи удовлетворяет разностному уравнению.
Сравнение (55) и (59) показывает, что в данном случае аппроксимация имеет порядок 0 (т). Такой способ оценки порядка аппроксимации содержит некоторый произвол. Например, если вместо (55) использовать (55'), то порядок аппроксимации будет 0 (т')— за счет другой нормировки разностного уравнения (умножения его на т). Мы будем испольэовать, так сказать, естественную нормировку разностного уравнения, при которой оно в пределе переходит в исходное дифференциальное уравнение. Так, (55) (вернее (59)) при т -+. О переходит в (5$), в то время как (55') — в равенство У = У, никак не отражающее индивидуальность исходной задачи. Рассмотрим раэностное уравнение 2 (г (д„,и„)+г (д„+д и +д)) (65) и оценим порядок, с которым ояо аппроксимирует дифференциальное уравнение (5д). Подставляя в (65) вместо и„, и„„значения У (8„), У (~„~д) и используя разложения Р(г „О'(г„„,)) =Ру„,О(г„))+т ' — ), +О(т), ИР~ придем к равенству Так как У (~) удовлетворяет дифференциальному уравнению (5д) и следствию из него ,гадд,др 1 ыдд Ф то отсюда следует, что (65) при и = У удовлетворяется с точностью О (т').
Итак, раэкостное уравнение (65) аппроксимирует исходное (5д) с точностью О (т'). Сохранение этого же порядка точности и для решения, т. е. утверждение и — У = О (т'), не является очевидным и требует доказательства. Но мы на этом останавливаться не будем. В отличие от (55), разпостпая формула (65) ке позволяет, вообще говоря, явно выразить и„, через и„. Ояа является уравнением относительно и„д. Для его решения можно применить тот или иной итерационный процесс, тем более, что всегда имеется хорошее начальное приближение и„. Однако труд, затраченный на получение точного значения и„„, будет напрасной потерей времени, так как точность самого уравнения порядка О (тэ). Поэтому можно ограничиться двумя итерациями следующего вида.
Сначала вычисляем первое приближение й„„по формуле метода Эйлера й„+д — — и„+ тг' (д„, и„), (66) а затем, подставляя его в правую часть (65), находим окончательное значение и„ и»ы = и» + ~ (Р(»»» и„) + Р(», »»„ы)) (67) Фактически это означает, что вместо (65) мы пользуемся рааностным уравнением ~ (Р(»„, и„) + Р (»„+д, и„+ тР(»»» и„))), (68) Нетрудно показать, что это уравнение, как и (65), аппрокснмирует исходное (51) с точностью 0 (т') и в то же время дает явное выражение и„„через и„.
Заметим, что при проведении расчета с помощью (66), (67) имеется возможность осуществлять определенный контроль точности получаемого решения путем сравнения значений й„+д и и„«д на каждом шаге вычислений. Слишком большая (малая) величина «пересчета» и»«д — й„ будет сигнализировать о необходимости уменьшения (увеличения) шага т. Меняя в соответствии с этим шаг, можно поддерживать точность на определенном уровне. Обобщая изложенный способ построения разностных уравнений, получают методы еще более высоких порядков точности.
Коли ввести в рассмотрение несколько различных промежуточных значений й, вычисляемых последовательно, то придем к методам типа Рунге — Кутта (см. задачу 2). Другой путь обобщения основывается на использовании для получения и„+, не только и„, но и уже известных значений и„д, и„, ... Общий принцип построения таких методов (типа Адамса) выглядит следующим образом. Имея последовательность Р (»„, и„), Р (»„, и„,), ..., Р (»„„,и„„), строим по ним иктерполяционный полипом Р„(»).
Используя его вместо Р на интервале»„, »„, (экстраполяция), можем написать, интегрируя (51), д»ы и„+, — и„= ~ Рд (») д»»„ Поскольку Р«(») линейно выражается через значения Р в упомянутых точках, то выполнив интегрирование, получим д и „= и„+ т,'5', с«Р(» ., и„), (69) т. е. разностную формулу. При й = О (69) превращается в формулу метода Эйлера (55'). Имея и„+„можно, как и в методе Эйлера, сделать «пересчет», используя интерполяционный полипом, учитывающий только что полученное аначение и„+г Этим способом нетрудно построить численные методы любого порядка точности, причем довольно экономные, так как повышение порядка точности достигается за счет использования уже имеющихся значений и.