Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧМиМТТС.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.87 Mб
Скачать

Лабораторная работа № 5 численное решение систем линейных алгебраических уравнений

Цель работы

1. Знакомство с задачами исследования и численными методами решения систем линейных алгебраических уравнений (СЛАУ).

2. Разработка численной ММ, реализующей один из методов.

3. Решение задач исследования однородных и неоднородных СЛАУ при помощи средств MATLAB.

Решение систем линейных уравнений – одна из наиболее часто встречающихся задач в научных и инженерных расчетах. Многие приложения приводят к этой задаче непосредственно, кроме того системы линейных уравнений могут возникать как один из этапов в решении более сложных проблем. При этом обычно число уравнений равно числу неизвестных. Такую систему можно записать в матричном виде A x=b, где А – заданная квадратная матрица порядка n, b – заданный вектор-столбец с n компонентами и x – неизвестный вектор-столбец с n компонентами. В свернутом виде система может быть записана как , i=1,2,…,n. Тогда в развернутом виде

a11 x1+ a12 x2 +…+ a1n xn =b1,

a21 x1+ a22 x2 +…+ a2n xn =b2,

……………………………………

an1 x1+ an2 x2 +…+ ann xn =bn .

Решением системы является вектор X*={x1*, x2*,…, xn*} при подстановке которого в каждое уравнение системы получаем истинные равенства. Для решения СЛАУ применяют прямые (точные) и итерационные (приближенные) методы. Метод решения задачи относится к классу точных, если предполагается отсутствие округлений и с его помощью можно найти решение в результате конечного числа арифметических и логических операций.

Среди прямых методов (используют конечное число преобразований системы) можно выделить методы Крамера, Гаусса, Гаусса-Жордана и др. Обычно их применяют для систем небольшой размерности (до 103).

В частности, метод Гаусса (гауссовых исключений) состоит в приведении исходной системы путем последовательных исключений неизвестных (при помощи элементарных операций над строками: перестановка строк; умножение строки на число отличное от нуля; сложение строк) к эквивалентной системе с треугольной (ступенчатой) матрицей (прямой ход метода Гаусса)

x1+ с12 x2 +…+ с1n xn =d1,

c22 x2 +…+ c2n xn =d2,

…………………

xn =dn ,

далее ее решают по рекуррентным формулам

xn =dn , , i=n-1,n-2,…, 1.

Итерационные методы реализуют стратегию постепенного приближения к решению X* путем построения соответствующей последовательности векторов X0, X1,…, Xk. Вектор X0 называется начальным приближением, а переход от текущего k-го приближения (вектор Xk ) к k+1-му приближению (вектор Xk+1) итерацией. Данный переход реализуется при помощи функционального оператора Xk+1=F(Xk), вид которого определяется заданной системой и конкретным методом.

Для итерационных методов (метод простой итерации, метод Зейделя и др.) решение получают всегда приближенным, в то же время необходимо отметить ряд преимуществ, которыми обладают последние по сравнению с прямыми методами:

1) меньшие затраты времени при получении решения;

2) значительно меньшие погрешности округления;

3) самоисправление случайных ошибок на очередном шаге;

4) особенная эффективность при работе с разряженными матрицами (большое количество коэффициентов которых равно нулю), а также для систем большой размерности (103-106).

Метод простой итерации реализует переход к k+1-му приближению, используя при определении каждой координаты нового вектора координат только предыдущего k-го приближения Xk+1=F(Xk). Пусть дана СЛАУ вида

a11 x1+ a12 x2 +…+ a1n xn + a1n+1 =0,

a21 x1+ a22 x2 +…+ a2n xn + a2n+1 =0, (1)

……………………………………

an1 x1+ an2 x2 +…+ ann xn + ann+1 =0 .

Выразив из каждого уравнения соответствующую координату, получим

x111 x1+ с12 x2 +…+ с1n xn + с1n+1,

x221 x1+ с22 x2 +…+ с2n xn + с2n+1, (2)

……………………………………

xnn1 x1+ сn2 x2 +…+ сnn xn + сnn+1 .

Для обеспечения условий сходимости (сходимость или устойчивость метода обеспечивается при любом начальном приближении X0, если норма матрицы, составленной из коэффициентов только при неизвестных в системе (2) меньше единицы, т.е., например, при i=1,2,…,n) при переходе от системы (1) к системе (2) можно воспользоваться следующими преобразованиями:

,

где .

Если после данных преобразований сходимость не обеспечивается (единичные случаи), исходную систему необходимо преобразовать в эквивалентную. Это достигается путем попарного сложения или вычитания уравнений.

Далее текущее приближение Xk подставляют в правую часть системы (2), тогда в левой части получают координаты нового уточненного приближения Xk+1. В качестве начального приближения X0 можно выбрать столбец свободных членов b или нулевой вектор. Окончанием итерационного процесса может служить выполнение условия

,

где – заданная погрешность приближенного решения.

Метод Зейделя является модификацией метода простой итерации. В целях ускорения сходимости он реализует переход к k+1-му приближению, используя при определении координат нового вектора не только предыдущее k-е приближение, но и вычисленные на данный момент координаты k+1-го приближения Xk+1=F(Xk, Xk+1):

x1k+111 x1k+ с12 x2k+…+ с1n-1 xn-1k1n xnk+ с1n+1,

x2k+121 x1k+1+ с22 x2k+…+ с2n xnk + с2n+1,

……………………………………

xnk+1n1 x1k+1+ сn2 x2k+1+…+ сnn xnk + сnn+1 .

Дальнейшее ускорение сходимости последовательности приближений достигается в методе последовательной верхней релаксации. Для специального вида матриц, например симметричных, положительно определенных, имеется также семейство методов сопряженных градиентов или сопряженных направлений [3].

В целом для обеспечения сходимости итерационного метода достаточно, чтобы выполнялось условие ||A||<1, или ||С||<1 по какой-либо норме матрицы, согласованной с нормой векторов. Если для векторов x=(x1,x2,…,xn) введена норма ||x||, то согласованной с ней нормой матриц называют величину . Чаще всего используют следующие нормы векторов и соответствующих согласованных норм матриц:

п/п

Норма вектора

Согласованная норма матрицы

1

2

3

или с учетом ||A||2||A||e

где максимальное собственное значение матрицы .

В общем случае система может включать m уравнений относительно n неизвестных

a11 x1+ a12 x2 +…+ a1n xn =b1,

a21 x1+ a22 x2 +…+ a2n xn =b2,

……………………………………

am1 x1+ am2 x2 +…+ am n xn =bm .

Тогда данная система совместна, если она имеет хотя бы одно решение и несовместна, если не имеет ни одного.

Однородной СЛАУ называется система, правая часть которой равна нулю (b=0). Однородная система всегда совместна, т.к. имеет, по крайней мере, одно решение (x1=0,…, xn=0). Если однородная система имеет единственное решение, то оно нулевое и система называется тривиально совместной. Если имеется более одного решения, то среди них есть ненулевые. В этом случае говорят о нетривиально совместной системе. Такая система имеет бесконечное множество решений, причем линейная комбинация любых решений системы тоже является ее решением. Доказано, что среди бесконечного множества решений однородной системы можно выделить ровно n-r линейно независимых решений, где r – ранг матрицы А (число ненулевых строк в ступенчатой матрице, получаемой из исходной матрицы А с помощью гауссовых исключений).

Совокупность этих n-r линейно независимых решений называется фундаментальной системой решений. Любое решение СЛАУ линейно выражается через фундаментальную систему. Поэтому, если ранг r матрицы А однородной системы Аx=0 меньше числа неизвестных n, то система является нетривиально совместной и для любого решения системы с учетом векторов е1, е2,…, еn-r, образующих ее фундаментальную систему решений (А еi =0, i=1,2,…,n-r) можно записать выражение:

x=c1 е1 +c2 е2 +…+cn-r еn-r ,

где c1, c2,…, c1n-r – произвольные постоянные, а само выражение называют общим решением однородной системы.

Исследовать однородную СЛАУ – это значит установить, является ли она нетривиально совместной и в этом случае найти фундаментальную систему решений, а также общее решение системы.

Неоднородной СЛАУ называется система, правая часть которой неравна нулю (b0). Для того, чтобы неоднородная система была совместна, необходимо и достаточно, чтобы ранг расширенной матрицы системы совпадал с рангом матрицы системы. Расширенная матрица получается путем добавления к матрице А столбца b.

Исследовать неоднородную СЛАУ – это значит установить, является ли она совместной, и если да, то найти общее решение системы.