
- •Вопросы по курсу для пи-101
- •Верные цифры.
- •Вычисление значений элементарных функций.
- •Вычисление значений алгебраического многочлена (метод Горнера).
- •Вычисление значений аналитических функций и степенные ряды.
- •Отделение корней.
- •Оценки корней алгебраических уравнений.
- •Основные методы уточнения корней уравнения (дихотомии, хорд, касательных, простой итерации).
- •Решение систем нелинейных уравнений.
- •Метод Гаусса (схема полного исключения, сведение к треугольной матрице, проблема погрешности, схема главных элементов).
- •Разложение матрицы в произведение треугольных и метод Краута.
- •Метод квадратных корней.
- •Метод простой итерации и сходимость итераций.
- •Метод Зейделя.
- •Метод прогонки для систем с трехдиагональной матрицей.
- •Краткая характеристика других методов.
- •Проблема собственных значений и методы ее решения.
- •Поиск максимального по модулю собственного числа и соответствующего собственного вектора (степенной метод, метод скалярных произведений).
- •Среднеквадратическая аппроксимация и метод наименьших квадратов.
- •Аппроксимация ортогональными многочленами.
- •Равномерная аппроксимация функций (понятие).
- •Интерполяция функций.
- •Интерполяционный многочлен Лагранжа.
- •Конечные разности.
- •Интерполяционные формлы.
- •Интерполирование на неравномерной сетке
- •Интерполирование сплайнами.
- •Численное интегрирование.
- •Вычисление несобственных интегралов.
- •Кубатурные формулы.
- •Вычисление кратных интегралов. Метод Монте-Карло.
- •Численное решение обыкновенных дифференциальных уравнений.
- •Задача Коши: постановка и пути решение.
- •Простейшие методы решения задачи Коши.
- •Методы Рунге-Кутта.
- •Решение задачи Коши для систем уравнений.
- •Краевые задачи. Разностные методы. Метод прогонки.
- •9.7. Разностные методы для краевых задач. Метод прогонки
- •Предполагается, что слушатель курса знаком с курсом элементарной и высшей математики и обладает достаточными понятиями о следующих вопросах.
- •Предполагается знакомство с возможностями системы MatLab и способность реализовать предлагаемый метод (алгоритм) средствами известных универсальных языков программирования.
Решение задачи Коши для систем уравнений.
Рассмотренные выше методы Эйлера и Рунге со всеми их модификациями практически без каких-либо затруднений распространяются и на задачу Коши для систем обыкновенных дифференциальных уравнений.
Пусть отыскивается вектор-функция
Y(x)={ y(1)(x), y(2)(x), ..., y(m)(x)}, (16)
являющаяся решением системы уравнений
(17)
при условиях
.
(18)
Если обобщить на эту задачу приведенные ранее формулы метода Рунге-Кутта, то здесь они запишутся в форме:
(19)
Аналогичные обобщения можно построить и для других рассмотренных выше методов. Незначительные изменения произойдут в системе контроля достижения точности последовательным уменьшением шага; здесь сравнению с заданной точностью следует подвергать максимальное из значений погрешностей по всем искомым функциям решений.
Краевые задачи. Разностные методы. Метод прогонки.
Пусть требуется найти функцию y=y(x) , являющуюся решением обыкновенного дифференциального уравнения
F ( x , y , y’ , y’’ , .. ,y(n) ) = 0
и удовлетворяющую n условиям на функцию и ее производные, заданным на концах интервала [ A,B ] .
В такой постановке мы имеем дело с т.н. краевой задачей для обыкновенного дифференциального уравнения.
Возьмем для примера линейное уравнение второго порядка
(25)
и рассмотрим различные формы краевых условий.
Краевые условия типа
y(A)=1(A) , y(B)=2(B) (26)
определяют первую краевую задачу, или задачу Дирихле.
Краевые условия с заданием значений производных
y’(A)=1(A) , y’(B)=2(B) (27)
определяют вторую краевую задачу, или задачу Неймана.
Все остальные формы краевых условий, представимые как
, (28)
определяют третью краевую задачу - задачу со смешанными условиями.
Примером подобных задач служит задача стационарного распределении температуры в неоднородном стержне, описываемая уравнением [3]
,
(29)
где k(x) - коэффициент теплопроводности материала стержня, q(x) - коэффициент теплообмена с внешней средой, f(x)=F(x)q(x)(x), F(x)- плотность внутренних источников, (x) - температура окружающей среды.
Краевые условия I-го рода соответствуют поддержанию на концах стержня постоянной температуры, краевые условия второго рода соответствуют фиксированным на концах стержня тепловым потокам, а условия третьего рода - т.н. теплообмену по закону Ньютона.
9.7. Разностные методы для краевых задач. Метод прогонки
Разностным методам решения краевых задач посвящена обширная литература [ 2,4,10,25 ]. Здесь мы рассмотрим самые простейшие из них, не вдаваясь в подробности.
Основной подход к решению такого рода задач связан с использованием аппарата конечноразностной аппроксимации.
Здесь область изменения аргумента заменяется дискретным множеством узлов (сеткой узлов) xk = x0 + k h , k=0,1,...,n и производные заменяются их конечноразностным представлением с той или иной точностью аппроксимации. Так при точности порядка O(h2) можно использовать представления:
(30)
(31)
.
(32)
Разумеется, можно использовать и более точные аппроксимации с большим числом учитываемых узлов [ 2,4, 18 ] .
Если рассмотреть уравнение (25)
,
то его аппроксимация во внутренних узлах сетки дает систему n-1 линейных алгебраических уравнений с n+1 неизвестными
Если
выбранная система уравнений достаточно
хорошо аппроксимирует исходное
дифференциальное уравнение и ее решение
непрерывно зависит от изменения правой
части уравнения и начальных (граничных)
условий ( в этом случае говорят об
устойчивости схемы), то при h0
решение этой системы сходится к решению
поставленной задачи.
Вводя обозначения
(33)
получаем
. (34)
Допустим, что для рассматриваемого уравнения поставлена задача Дирихле, т.е. значения y0 и yn - заданные величины.
Решение (34) при достаточно больших n точными методами нереально из-за колоссальной вычислительной погрешности, решение итерационными требует значительных временных затрат. Однако с учетом трехдиагональности матрицы коэффициентов при неизвестных можно воспользоваться специальным приемом - методом прогонки.
Пусть
yk = Pk yk+1 + Qk , k=0,1,2,...,n-1 . (35)
Подставляя в (34), получаем
(36)
откуда получаем
(37)
Поскольку величина y0 известна, то можно принять P0 =0, Q0 =y0 и в соответствии с (36) найти прогоночные коэффициенты. Зная величину yn, можно с помощью (36) обратным ходом (в порядке убывания k) найти искомое решение.
Если рассматривается вторая краевая задача
y’(x0) = A , y’(xn) = B , (38)
то систему (36) придется дополнить c учетом (31)-(32)
.
(39)
Из (34) имеем
.
(40)
Подставив выражение y2 из (39) в (40) и сопоставив с (35), получаем
, (41)
что в совокупности с (37) дает возможность определения всех прогоночных коэффициентов (35).
Подставив выражение yn-2 из (39) в (40) , получаем
и, обозначив
,
(42)
с учетом (35) имеем
,
(43)
что позволяет осуществить “обратный ход” прогонки - поиск решения уравнения.
Аналогичный подход может быть использован и при решении третьей краевой задачи. К сожалению, существует много краевых задач для нелинейных уравнений, решение которых не столь просто.