Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Бочарова А.А., Луппова Е.П., Ратников А.А. Вычи...doc
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
4.77 Mб
Скачать

Эпюра 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);

В результате получено решение системы в виде вектора х.

Библиографический список

  1. Волков Е.А. Численные методы.- М.: Наука, 1987.

  2. Вержбицкий В.М. Численные методы. Линейная алгебра и нелинейные уравнения. – М.: Высш.шк., 2000. - 266 с.

  3. Вержбицкий В.М. Численные методы. Математический анализ и обыкновенные дифференциальные уравнения. – М.: Высш.шк., 2001.-382 с.

  4. Турчак Л.И., Плотников П.В. Основы численных методов:–М.: ФИЗМАТЛИТ, 2003. – 304 с.

  5. Поршнев С.В. Вычислительная математика: курс лекций. – СПб.: БХВ-Петербург, 2004. – 320 с.

114