Форсайт Дж., Малькольм М., Моулер К. - Машинные методы математических вычислений (1040536), страница 23
Текст из файла (страница 23)
д. В общем случае уп+1 ус+йп1Ьл 1А) Как видно нз рис. 6.2, обычно на каждом новом шаге приближенное решение переходит на дру~ой член семейства решений. Для некоторых дифференциальных уравнений это явление может привести к большим ошибкам. Например, прн решении уравнения у'=у методом Эйлера ошибки, сделанные на ранних этапах, умножаются с ростом времени на множитель г' (рис. 6.1).
Это явле- в.з. числгнные ившення !29 ! яие называется неустойчивое!пью дифференциального уравнения. Иногда можно обойти эту трудность, решая задачу с обращенным временем. Однако при решении системь! уравнений факт неустойчивости часто не зависит от направления решения. Рис. 6.2. Метод Эйлера. Если, с другой стороны, мы имеем уравнение у'= — у, то получаем семейство кривых, изображенное на рис. 6 3. Здесь начальные ошибки убывают с ростом !. Это называется устойчивостью дифференциального уравнения. Вообще для диффереици- Рис.
б.э. Семейство решений уравнения у'= — д. ального уравнения и' — Ху, где Х задано, начальные ошибки в решении умножаются прп возрастающем ! на гх'. Если Х(0, то начальные ошибки не возрастают, так что уравнение устойчиво. Если Х)0, уравнение неустойчиво. Как мы увидим впоследствии, 6. ЗАДАЧА КОШИ 1ЗО устойчивое дифференциальное уравнение не обязательно легко решается численными методами. Если нужна малая относительная ошибка, то устойчивость дифференциального уравнения может не иметь значения. 6.3.
О1ИИбКИ Ошибки в численном решении задачи Коши проистекают из двух источников; Е Ошибка дискретизации (иногда называемая ошибкой усечения). 2. Ошибка округления. Ошибка дискретизации есть свойство используемого метода. Это значит, что если бы все арифметические вычисления могли выполняться с бесконечной точностью, то других ошибок, кроме ошибки дискретизации, не было бы, Ошибка округления есть свойство машины и программы. Поскольку точное решение, вообще говоря, неизвестно и не может быть вычислено, то обычно ошибка дискретизации так или иначе оценивается. Важно различать между собой две меры ошибок дискретизации: локальную ошибку дискретизации и глобальную ошибку дискретизации.
Локальная ошибка дискретизации — это ошибка, сделанная на данном шаге, при условии, что предыдущие значения точны и что нет ошибок округления. Более точно, пусть и„(1) — функция от 1, описываемая условиями и,', = — 1(и„, 1), и„(1„) =у„. Таким образом, и„(1) — решение дифференциального уравнения, определяемое не исходным начальным условием в точке1„, а значением вычисленного решения в точке 1„. Локальная ошибка дискретизации Н„ есть г(А =у„~,— и„(1„„). Это разность между вычисленным решением и теоретическим решением, определяемыми одними и теми же данными в точке 1„.
Глобальная ошибка дискретизации есть разность между вычисленным решением (ошибки округления игнорируются) и точным решением, определяемым исходным условием в точке т. е. е„=у„— у (1.) О.О. ОШИБКИ Различие между локальной и глобальной ошибками дискретизации легко видеть в специальном случае, когда /(у, !) не зависит от у. В этом случае решение есть просто интеграл у(!)= =~/(т) дт. Метод Эйлера превращается в схемч численного !ц интегрирования, которую можно было бы назвать «формулой прямоугольников для лентяя»; эта схема использует значения функции в концах подынтервалов, а не в их средних точках: "л ~ /(т)дт= ч'„й„/(!„). л=О Локальная ошибка дискретизации есть ошибка на одном подыитервале д = !1„! (!„) — ~ / ( ) дт, 1л а глобальная ошибка дискретизации — общая ошибка Л вЂ” 1 ~1О ем= г„' й„/((„) — ~ /(т)дт.
л= О В данном специальном случае каждый подынтервал независим от других (сумма может вычисляться в любом порядке), так что глобальная ошибка есть сумма локальных ошибок; И вЂ” 1 ел= ~ч' д„. л=О В случае настоящего дифференциального уравнения, где /(у, !) зависит от у, ошибка на любом интервале зависит от решений, вычисленных для предыдущих интервалов. Вследствие этого глобальная ошибка в общем случае будет больше суммы локальных ошибок, если дифференциальное уравнение неустойчиво, но меньше этой суммы, если дифференциальное уравнение устойчиво.
Внимательное изучение рис. 6А и 6.5 должно прояснить эти утверждения. Устойчивостьдифференциального уравнения и, следовательно, влияние локальной ошибки на глобальную управляются знаком производной д//ду. Для нелинейных уравнений д//ду может изменять знак, так что уравнение может быть неустойчиво в одних областях и устойчиво в других.
Для системы нелинейных уравнений ситуация еще более сложна. Фундаментальным понятием при оценке точности численного метода является его порядок. Порядок определяется в терминах а. злдлчл каши Уо го га га Гз на=уз-уйз)>б' 44+б Рис. б.4. Локальная и глобальная ошибки дискретизации для неустойчивого диф4еренциального уравнения, о г1 ге Ь» с',= 1',— у(у,1(с~,+Ы,+гг', Рис. 6 5. Локальная и глобальная ошибки дискретизации для устойчивого диф- йгрепциального уравнения, Б Х ОШИБКИ 1зз локальной ошибки дискретизации, получаемой при применении метода к задачам с гладкими решениями. Говорят, что метод имеет порядок р, если существует число С, такое, то 1(„) са„'.
Число С может зависеть от производных функции, определяющей дифференциальное уравнение, и от длины интервала, на котором ищется решение, но оно не должно зависеть от номера шага п и величины шага 6„. Указанное неравенство с помощью 0- символики может быть записано более компактно: й„-- 0 Щ'). Например, рассмотрим метод Эйлера уБ.,=-у,--д„)(уБ, 1„). Предположим, что локальное решение и„(1) имеет непрерывную вторую производную. Тогда, согласно разложению Тейлора, в окрестности тонки 1„ и„(1) —. и„(1„) + (1 — 1 ) и,', (1,) -1- 0 ((1 — 1„)'), Из дифференциального уравнения и начального условия, определяющего иБ(1), следует и„(1„„) =у„+Л„)(у„, 1„) (-0(Л„'). Поэтому г(„= — у„ь,— и,(1„.„) = 0 (Л„'), Отсюда заключаем, что для метода Эйлера р — 1, т.
е. метод имеет первый порядок. Рассмотрим теперь глобальную ошибку дискретизации в фиксированной конечной точке 1.=1п По мере повышения требований к точности длины шагов ЬБ будут убывать, а общее их число Л~, необходимое для достижения (п будет возрастать. Грубо говоря, ~/ гп Ф =- —, ь где Л вЂ” средняя длина шага. Далее, глобальная ошибка ем может быть представлена как сумма Ж локальных ошибок с множителями, описывающими устойчивость уравнения. Этимножители лишь слабо зависят от величин шагов, и потому мы можем, огрубляя, сказать, что если локальная ошибка есть 0(дг"), то глобальная ошибка будет Л'0(Ю")=:О(ЛБ).
Вот почему в определении порядка в показателе было взято р+1, а не р. Для метода Эйлера р=-1, так что уменьшение средней длины шага в 2 раза уменьшит среднюю локальную опшбку примерно в 2г"=4 раза; но так как для достижения 14 теперь потребуется б. ЗАДАЧА КОШИ 134 приблизительно вдвое больше шагов, то глобальная ошибка уменьшится лишь в 2р=2 раза, Для методов более высокого порядка глобальная ошибка дли гладких решений уменьшилась бы гораздо ощутимей. Нужно отметить, что при обсуждении численных методов для обыкновенных дифференциальных уравнений слово порядок может иметь несколько различных значений.
Порядок дифференциального уравнения — это индекс наивысшей встречающейся в нем производной. Например, у"=-1-1-ып у — дифференциальное уравнение второго порядка. Термин «порядок системы уравнений» иногда относится к числу уравнений системы. Например, у' =у+г, г' =-у — г есть система второго порядка, Порядок численного метода для решения обыкновенного дифференциального уравнения — эта как раз то, что мы здесь обсуждаем. Это степень длины шага, которая появляется в выражении для глобальной ошибки.
Например, метод Эйлера имеет первый порядок. На практике проведенный анализ должен быть дополнен, чтобы учесть ошибки округлений. Если на каждом шаге метода Эйлера делается наихудшая возможная ошибка округления е, та (предполагая, для простоты, фиксированной длину шага) у„»,=у„+й)'(у„, 1„)+е и полная ошибка вследствие округлений равна йге или Ье/й, где Ь=11 — 1,. Можно надеяться, однако, что вместо того, чтобы быть константой, е является в известной степени случайной величиной со средним значением О.
На практике общая ошибка, накопившаяся от округлений, обычно ведет себя как е)г У, если машина округляет. На машинах типа гВМ 360, которые после арифметических операций просто отбрасывают лишние разряды (это часто называется усеченнем '), и ват почему мы предпочли выше термин оишбка дискретизации), ошибка округлений имеет тенденцию расти линейно по Ж. Суммируя глобальную ошибку дискретизации и ошибку округлений, получаем общая ошибка Ь1Сй+ — 1. -Ь! Следовательно, общая ошибка минимизируется для некоторого оптимального значения й, выражаемого приближенной формулой й.м У'Х Общая ошибка на конце интервала интегрирования изображает«я на рис.
6.6 как функция ат длины шагай. По мере убывания ') В оригинале — 1гппсапоп.— Прим. перев, е.з. ошнвки 135 Ь ошибка дискретизации убывает (линейно) и численное решение начинает' сходиться к точному решению. Однако, когда й становится слишком мало, численное решение начинает расходиться вследствие ошибок округлений. Оптимальное значение л . бд) -гч12 -а.