- •Вычислительная математика
- •Оглавление
- •3. Численное интегрирование…………………………………………………...51
- •4. Уравнения в частных производных…………………………………………65
- •5. Численные методы линейной алгебры……………………………………...73
- •1. Численные методы решения обыкновенных дифференциальных уравнений Основные понятия
- •Элементы теории погрешностей
- •Численное дифференцирование. Аппроксимационные формулы
- •Задача Коши для обыкновенного дифференциального уравнения 1-го порядка. Метод Эйлера
- •Задача Коши для обыкновенных дифференциальных уравнений 1-го порядка. Методы Рунге-Кутта
- •Краевые задачи для обыкновенного дифференциального уравнения 2-го порядка
- •Метод Галеркина для обыкновенных дифференциальных уравнений 2-го порядка
- •2. Аппроксимация функций Интерполяционный многочлен Лагранжа
- •Многочлены Чебышева
- •Минимизация погрешности интерполяции полинома Лагранжа
- •Интерполяция с равноотстоящими узлами
- •Кусочная аппроксимация
- •Сплайн- интерполяция
- •Метод наименьших квадратов
- •Ортогональные полиномы
- •3. Численное интегрирование Простейшие квадратурные формулы
- •Квадратурные формулы Ньютона-Котеса
- •Экстраполяция по Ричардсону
- •Квадратурные формулы Гаусса, Чебышева
- •Метод Монте-Карло
- •4. Уравнения в частных производных
- •5. Численные методы линейной алгебры
- •Матрицы и действия над ними
- •Клеточные матрицы
- •Разложение матрицы на произведение двух треугольных матриц
- •Итерационные методы
- •Метод Якоби
- •Метод Зейделя
- •Практикум по вычислительной математике Лабораторные работы для Mathcad 2001i Professional Лабораторная работа № 1 Обращение матриц
- •Лабораторная работа №2 Решение системы нелинейных уравнений
- •Лабораторная работа №3 Построение уравнений регрессии
- •Лабораторная работа № 4 Разложение функций в ряд Фурье пополиномам Лежандра
- •Лабораторная работа № 5 Решение дифференциального уравнения второго порядка
- •Лабораторная работа № 6 «Аппроксимации»
- •Лабораторная работа № 7 Решение слау с помощью lu разложения
- •Лабораторная работа № 11 Метод прогонки
- •Синтаксис среды Maple
- •Данные множественного типа
- •Решение дифференциальных уравнений в среде Maple Примеры решения уравнений встроенными функциями
- •Примеры численного решения оду
- •Лабораторная работа №1 Решение оду различными методами
- •Задания для самостоятельного решения
- •Лабораторная работа № 2 Интерполяция функции полиномами Лежандра
- •Лабораторная работа № 3 Метод наименьших квадратов
- •Лабораторная работа № 4 Применение системы Maple в сопротивлении материалов
- •Эпюра q
- •Эпюра q
- •Эпюра q
- •Эпюра q Лабораторная работа № 5 Решение системы методом прогонки
- •Библиографический список
Эпюра q
Эпюра q Лабораторная работа № 5 Решение системы методом прогонки
Задача: решить систему, представленную в виде расширенной матрицы:
Для наиболее точного решения систем с трехдиагональной матрицей применяется метод прогонки.
Первое уравнение системы в общем виде можно записать так:
.
Выразим
=>
.
Второе уравнение:
,
если подставить
:
.
Выразим
=>
.
Отсюда легко определить зависимость:
, где
,
.
Таким образом, для
каждого уравнения получим зависимость:
.
Теперь чтобы
вычислить значения
(решение системы) необходим обратный
ход. Последнее уравнение системы:
.
С дугой стороны:
.
Подставим в последнее уравнение
,
отсюда
.Потом
по формуле
,
двигаясь в обратном порядке, вычислим
все значения
.
Следующая программа реализует
вышеперечисленные вычисления.
> restart; – отменяем все определения
with(linalg): – подключаем модуль для работы с линейной алгеброй
> A:=matrix(5,6): – объявляем расширенную матрицу А
> evalm(A);
Заполняем матрицу значениями из условия задачи
>A:=matrix(5,6,[[2,1,0,0,0,2],[1,2,1,0,0,1],[0,1,2,1,0,0],[0,0,1,2,1,1],[0,0,0,1,2,2]]);
Данная программа
учитывает то факт, что значения на
диагоналях могут изменяться, поэтому
на каждом шаге свои значения
.Ниже
реализуется прямой ход метода.
> b[1]:=A[1,1]: c[1]:=A[1,2]: f[1]:=A[1,6]:
lambda[1]:=-c[1]/b[1]: delta[1]:=f[1]/b[1]:
> for i from 2 to 5 do
a[i]:=A[i,i-1]; b[i]:=A[i,i]; c[i]:=A[i,i+1]; f[i]:=A[i,6];
c[5]:=0;
lambda[i]:=-c[i]/(a[i]*lambda[i-1]+b[i]);
delta[i]:=(f[i]-a[i]*delta[i-1])/(a[i]*lambda[i-1]+b[i]);
od:
> x:=vector(5): – объявляем вектор, для заполнения значениями решения
x[5]:=delta[5]: Обратный ход.
for j from 1 to 4 do
i:=6-j;
x[i-1]:=lambda[i-1]*x[i]+delta[i-1];
od:
`x`:=evalm(x);
В результате получено решение системы в виде вектора х.
Библиографический список
Волков Е.А. Численные методы.- М.: Наука, 1987.
Вержбицкий В.М. Численные методы. Линейная алгебра и нелинейные уравнения. – М.: Высш.шк., 2000. - 266 с.
Вержбицкий В.М. Численные методы. Математический анализ и обыкновенные дифференциальные уравнения. – М.: Высш.шк., 2001.-382 с.
Турчак Л.И., Плотников П.В. Основы численных методов:–М.: ФИЗМАТЛИТ, 2003. – 304 с.
Поршнев С.В. Вычислительная математика: курс лекций. – СПб.: БХВ-Петербург, 2004. – 320 с.
