1626435587-51311eae4652e8ad616b5bdef025cbb3 (844239), страница 17
Текст из файла (страница 17)
Получить априорную оценку оптимального шага сетки ℎopt длячисленного дифференцирования. Наложить априорные оценкипогрешности численного дифференцирования и величины оптимального шага на график из упражнения 2.Для выполнения следующих упражнений необходимо написать программный код для интерполяции полиномами Ньютона. В программеследует предусмотреть возможность простой замены интерполируемойфункции и промежутка интерполирования, числа узлов сетки (степениполинома), а также возможность использования неравномерной сетки.Для отладки программы удобно дублировать расчёты для полиномовневысокой степени ( = 2, 3, 4) в Microsoft Excel.4. Построить интерполяционный полином Ньютона для функции() = tg на промежутке [0, 1], используя = 2, 3, 5, 10 точек.
Построить график зависимости ошибки интерполяции от ,сравнить с (59). Вывести на экран значение максимума невязкидля разных степеней полинома. Построить график зависимостиневязки от в более широких пределах (например, от −0,2 до1,2), сравнить погрешность интерполяции и экстраполяции.√√335. То же для функций cos2 и sin2 .
Сравните погрешности интерполяции для указанных функций, объясните результат.6. То же для функции cos(4 ) на промежутке от [−, ]. Как изменяется максимальное значение невязки на интервале интерполяциипри увеличении числа узлов сетки (степени полинома)?функции Рунге7. То же для() = 1/(1 + 252 ) на промежутке[−1, 1]. Как изменяется максимальное значение невязки на интервале интерполяции при увеличении числа узлов сетки?858. Для интерполяции функции Рунге из упражнения 7 использоватьнеравномерную сетку, узлы которой совпадают с нулями многочлена Чебышёва (64) соответствующей степени.9.
Написать программный код для вычисления функции Бесселя0 () с абсолютной погрешностью не выше 10−10 с использованием интегрального представления (69). Построить интерполяционный полином Ньютона степени для 0 () на промежутке[0, 20], используя равномерную сетку.
Вычислить невязку : = min max |0 () − ()|,10 () =∫︁(︀)︀cos sin . (69)06. Решение обыкновенных дифференциальных уравненийПусть требуется численно найти решение задачи Коши для обыкновенного дифференциального уравнения (ОДУ)(︀)︀= , () , ≤ ≤ ,() = .(70)Для простоты в рассмотрении ниже мы будем ограничиваться случаем одного уравнения, имея при этом в виду, что многие методы элементарно обобщаются на случай системыu= f (, u).Условимся использовать () для обозначения численного решения(70), а () — для точного решения той же задачи. Численное решениезадачи Коши (70) будем искать при ≤ ≤ на сетке (в общем случаенеравномерной) 0 , 1 , 2 , . .
. как набор значений ≡ ( ). Ниже мырассмотрим несколько методов поиска численного решения задачи (70).6.1. Метод Эйлера (схема ломаных)Предполагая, что функция (, ) в правой части уравнения (70)имеет достаточное число непрерывных производных, можем записать86для производных решения ():′′′′′′= (, ),(71)= + ,2= + 2 + + +2 ,...Раскладывая решение () в ряд Тейлора, получаем:( + ℎ) =∑︁=0() ()ℎ!+(︀)︀ ℎ +1 .(72)Значения производных () (), входящие в (72), следует подставлятьиз (71). В простейшем случае, ограничиваясь только первым членомразложения ( = 1), имеем:( + ℎ) = () + ℎ (, ) + (ℎ2 ).схему ломаныхКак следствие, получаем, предложенную ЛеонардомЭйлером в 1768 г и потому известную также как:+1 = + ℎ (, ),метод Эйлераℎ ≡ +1 − .(73)аГеометрический смысл метода Эйлера иллюстрирует рис.
7 ( ):на каждом шаге происходит смещение из текущей точки ( , ) вдолькасательной к интегральной линии решения, проходящей через даннуюточку. Траектория движения в плоскости (, ) получается ломаной линией, что и отражает название метода.Ввиду крайне низкой точности метод Эйлера редко применяется вчисленных расчётах. Вместе с тем, схема ломаных является наиболеепростой, что позволяет на её примере разобраться в общих подходах кисследованию сходимости и точности численных методов.Если в разложении (72) удержать не только первый член, но такжеи члены более высоких порядков, то, подставив выражения для производных () () из (71), можно было бы получить численные схемы более высокого порядка точности.
Однако такой подход нечасто используется на практике ввиду громоздкости получающихся при этом выражений. Кроме того, если правая часть (, ) уравнения (70) известналишь приближённо, то вычисление её производных может приводитьк резкому росту погрешности вычислений.Исследуем сходимость численного решения задачи Коши (), построенного по схеме ломаных (73) к точному решению (), полагая87Yy(а)Y(б)3yn+1~yn+1y2y1y0yn0 x0x1x2x30 xnXxn+1XРис. 7.
(а) схема ломаных, (б) исправленный метод Эйлерадля этого () известным. Для этого вычтем численное решение (73)из разложения точного решения (72), положив = и ℎ = +1 − .Вводя обозначение для погрешности на -м шаге ( ≡ − ),где ≡ ( ), имеем:1+1 = + ( ( , ) − ( , )) ℎ + ′′ ( )ℎ2 + (ℎ3 ).2Подставляя сюда ( , ) = ( , ) ++1 = · (1 + ℎ ) + ( , ) · (− ) + (2 ):ℎ2 ′′ + (2 , ℎ3 ).2 Таким образом, погрешность численного решения домножается накаждом шаге на величину (1 + ℎ ) и к полученному произведениюприбавляется величина 21 ℎ2 ′′ + (2 , ℎ3 ). Применяя полученную формулу рекурсивно, имеем для погрешности на -м шаге: ≈ 0−1∏︁ (︂1+=0ℎ)︂+)︂−1−2 (︂1 ∑︁ 2 ′′ ∏︁ℎ 1+ℎ .2 =0=+1С точностью до членов второго порядка малости по ℎ можно заменить1 + ℎ ≈ exp( ℎ), тогда: ≈ 0 exp[︃−1∑︁ =0]︃ℎ−11 ∑︁ 2 ′′+ℎ exp2 =0 88[︃−2∑︁=+1]︃ℎ .Заменяя суммы в полученном выражении интегралами (совершая приэтом ошибку, равную (ℎ2 )) и меняя в пределах той же ошибки пределы интегрирования на величину порядка ℎ, имеем⎡⎤⎡⎤∫︁∫︁∫︁ 1⎢⎥ℎ()′′ () · exp ⎣ ⎦ .(74) ≈ 0 · exp ⎣ ⎦ +200Здесь ℎ() — непрерывная функция, дающая в каждом узле сетки значение шага сетки ℎ( ) = ℎ .Проанализируем полученный результат.
Первое слагаемое связанос наличием погрешности начального условия 0 = (0 ) задачи Коши (70). Положим данный член равным нулю (0 = 0), считая, чтоначальное значение задано точно.Второе слагаемое в (74) может быть легко оценено сверху путёмзамены входящих в него величин модулями их максимальных значенийв области ≤ ≤ . Проделав это и вынеся из-под интеграла ℎ =max ℎ(), получим, что в пределе ℎ → 0 приближённое решение ()сходится к точному решению () равномерно на ограниченном отрезке≤≤спо шагу сетки ℎ.Экспоненциальный член, входящий в (74), характеризует расхождение интегральных кривых. Больша́я величина данного члена означаетплохую обусловленность задачи Коши.. Задача называется, если малоеизменение начальных условий приводит к малому изменению интегральных кривых. В противном случае задача называется.В качестве примера рассмотрим задачу Коши ′ () = −, (0) = 1,0 ≤ ≤ 100.
Общее решение () = 1 + + . Решение, удовлетворяющее задаче Коши (0) = 1, получается при = 0: () = 1 + ,(100) = 101. Изменим начальное условие в задаче Коши на машинноеэпсилон: (0) = 1+ = 1+2−52 . Тогда получим = , (100) ≈ 5,97·1027 .Изменение начального условия в шестнадцатом десятичном знаке после запятой приводит в данном примере к изменению ответа более чемв 1025 раз.
Очевидно, такая задача является плохо обусловленной, имы не сможем построить для неё удовлетворительного численного решения, используя стандартные типы данных.Заметим, что полученное выше выражение (74) —— достаточно редко используется на практике ввидусвоей сложности. Как правило, вместо этого в расчётах используетсяоценка, основанная на проведении расчётов на сетках89первым порядком точностиОпределениесловленнойка погрешностиапостериорнаяхорошо обусловленнойплохо обу-априорная оцен-с разным (отличающимся в заданное число раз) шагом ℎ и последующим использованием формулы Рунге (см.
п. 4.5). Для использованияапостериорных оценок погрешности желательно знать, т. е. показатель степени шага сетки ℎ в формуле остаточного члена. Сейчас мы покажем, как эта значительно более простаязадача может быть решена на примере метода Эйлера, но вначале дадим несколько определений.., илиаппроксимации разностного уравнения на решении исходного дифференциального уравнения , называют результат подстановки точного решения = ()в разностное уравнение.. Говорят, что, если → 0 при ℎ → 0, где — невязка, ℎ — шаг сетки. Говорят, что, если = (ℎ ).Например, для метода Эйлера, который может быть записан в видепорядок точно-сти методаОпределение НевязкойпогрешностьюОпределениеразностный метод аппроксимируетдифференциальное уравнениеразностный метод имеет -й порядокаппроксимации+1 − − ( , ) = 0,ℎневязка равна =+1 − − ( , ( )).ℎПодставляя разложение +1 = + ′ ℎ + (ℎ2 ) и заменяя ′ на (, ), имеем = + ′ ℎ + (ℎ2 ) − − ( , ( )) = (ℎ).ℎТаким образом, мы пришли к тому же выводу, что и на основе анализаасимптотической оценки погрешности (74), а именно, что метод Эйлера(схема ломаных) имеет первый порядок точности.6.2.
Исправленный и модифицированный методыЭйлераРассмотрим две модификации метода Эйлера (73), позволяющие повысить точность расчётов, уменьшив погрешность до второго порядкапо величине шага сетки, (ℎ2 ). Прежде чем переходить к последовательному рассмотрению этих методов, попытаемся понять их основнуюидею, рассмотрев аналогию с методами численного интегрирования.90Для этого исследуем частный случай задачи (70), когда функция не зависит от , т. е. (, ) ≡ ():= (), ≤ ≤ ,(75)() = .Точное решение задачи Коши (75) может быть выписано в явном виде:∫︁() =() ,(76) ≤ ≤ .Рассмотренный выше метод Эйлера (73) является в данном случаене чем иным, как методом левых прямоугольников для вычислениязначения интеграла (76).Как было показано в п. 4.2, точность вычисления интегралов методом прямоугольников можно значительно (на порядок по шагу сеткиℎ) повысить, используя полусумму площади левых и правых прямоугольников, т.