
- •Вопросы по курсу для пи-101
- •Верные цифры.
- •Вычисление значений элементарных функций.
- •Вычисление значений алгебраического многочлена (метод Горнера).
- •Вычисление значений аналитических функций и степенные ряды.
- •Отделение корней.
- •Оценки корней алгебраических уравнений.
- •Основные методы уточнения корней уравнения (дихотомии, хорд, касательных, простой итерации).
- •Решение систем нелинейных уравнений.
- •Метод Гаусса (схема полного исключения, сведение к треугольной матрице, проблема погрешности, схема главных элементов).
- •Разложение матрицы в произведение треугольных и метод Краута.
- •Метод квадратных корней.
- •Метод простой итерации и сходимость итераций.
- •Метод Зейделя.
- •Метод прогонки для систем с трехдиагональной матрицей.
- •Краткая характеристика других методов.
- •Проблема собственных значений и методы ее решения.
- •Поиск максимального по модулю собственного числа и соответствующего собственного вектора (степенной метод, метод скалярных произведений).
- •Среднеквадратическая аппроксимация и метод наименьших квадратов.
- •Аппроксимация ортогональными многочленами.
- •Равномерная аппроксимация функций (понятие).
- •Интерполяция функций.
- •Интерполяционный многочлен Лагранжа.
- •Конечные разности.
- •Интерполяционные формлы.
- •Интерполирование на неравномерной сетке
- •Интерполирование сплайнами.
- •Численное интегрирование.
- •Вычисление несобственных интегралов.
- •Кубатурные формулы.
- •Вычисление кратных интегралов. Метод Монте-Карло.
- •Численное решение обыкновенных дифференциальных уравнений.
- •Задача Коши: постановка и пути решение.
- •Простейшие методы решения задачи Коши.
- •Методы Рунге-Кутта.
- •Решение задачи Коши для систем уравнений.
- •Краевые задачи. Разностные методы. Метод прогонки.
- •9.7. Разностные методы для краевых задач. Метод прогонки
- •Предполагается, что слушатель курса знаком с курсом элементарной и высшей математики и обладает достаточными понятиями о следующих вопросах.
- •Предполагается знакомство с возможностями системы MatLab и способность реализовать предлагаемый метод (алгоритм) средствами известных универсальных языков программирования.
Простейшие методы решения задачи Коши.
Возьмем уравнение y’(x)=f(x,y) с начальным условием y(x0) = y0 и попытаемся найти y(x) для x = x0+n h , n=1,2, ...
Взяв разложение в ряд Тейлора и ограничившись двумя членами разложения, имеем
y(x+h)=y(xn)+h y’(xn)+O(h2).
Введя для краткости записи обозначения xn = x0+n h , yn= y(xn), получаем отсюда
yn+1= yn+hf(xn,yn) , n=0,1,2,.... (7)
Приведенная формула определяет т.н. метод Эйлера, имеющий простую геометрическую интерпретацию (рис.1): из точки (xn , yn) проводится касательная к искомой кривой y=y(x) до уровня x = xn+h. Очевидно, что в процессе последовательных переходов по (7) погрешность O(h) существенно возрастает. Поэтому метод Эйлера (7) в чистом виде применяется лишь для грубых оценок при небольшом количестве точек (узлов).
yn+1
yn+2
yn+1
yn
yn
xn xn+1 xn xn+1
Рис.1 Рис.2
Чаще используют модифицированный метод Эйлера, базирующийся на учете трех членов разложения в ряд Тейлора, имеющий погрешность O(h2) и использующий промежуточную точку для коррекции касательной (рис.2):
(8)
Другая модификация метода Эйлера, называемая модифицированным методом Эйлера-Коши, с той же погрешностью выступает в виде
(9)
Методы Рунге-Кутта.
В отличие от рассмотренных выше методов Эйлера методы Рунге-Кутта учитывают большее количество членов разложения в ряд Тейлора и обладают существенно более высокой точностью (естественно, повышенная точность требует и большего объема вычислений).
Наиболее популярным является метод Рунге-Кутта с погрешностью O(h4), реализуемый в виде:
(10)
Очевидно, что для обеспечения заданной точности при любом методе необходимо выбрать достаточно малый интервал между смежными значениями xn и xn+1 ; однако заранее оценить его так, чтобы и точность достигалась, и объем вычислений был разумным, в общем случае нереально. Поэтому обычно прибегают к системе двойного просчета: сначала делают “прогулку “ по интервалу с шагом h= xn+1 - xn , затем берут вдвое меньший шаг и проходят интервал в два приема, сравнивают оценки решения при полном и половинном шаге по критерию точности. Если эти оценки достаточно близки, переходят к очередному интервалу и действуют в нем аналогично ( можно использовать и полученный уменьшенный шаг). В противном же случае уменьшают шаг вдвое и пытаются получить более точную оценку.
Можно использовать и некоторое уточнение оценки решения yn+1 на основании оценок Y(h) и Y(h/2), полученных при уменьшении шага вдвое
.
(11)
Некоторые соображения относительно главной составляющей погрешности [22] и критерия абсолютной/относительной погрешности позволяют несколько уточнить алгоритм метода :
1) отыскиваются оценки Y(h) и Y(h/2) для yn+1;
2) проверяется выполнение неравенства
Dk=Y(h)
- Y(h/2)
; (12)
3) при невыполнении условия ищут оценку при вдвое меньшем шаге, т.е. повторяют предыдущие действия ; при выполнении такового принимают за решение оценку (11) ;
4) если > max(Dk) , то продолжать поиск решения для последующих значений аргумента можно с вдвое большим шагом.
Определенными достоинствами обладает и метод Кутта-Мерсона
(13)
Главный член погрешности определяется величиной
,
(14)
где
. (15)
Обратите внимание на то, что эта величина вычисляется при поиске k5.
Соответственно вычислительная схема метода определяется следующими действиями :
1) при выбранном h по (13) - (14) отыскиваются yn+1 , Wn+1 и Dn+1;
2) проверяется выполнение неравенства
Dk
,
при невыполнении которого ищут оценку при вдвое меньшем шаге, т.е. повторяют предыдущие действия ;
3) если
32Dk ,
то последующий поиск решения можно начать с вдвое большим шагом.