Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛ по ВТиП-часть2.pdf
Скачиваний:
193
Добавлен:
21.02.2016
Размер:
3.35 Mб
Скачать

Тема 1. Методы решения систем линейных уравнений

Лекция 1. Метод Гаусса

Инженеру часто приходится решать алгебраические и трансцендентные уравнения, что может представлять собой самостоятельную задачу или являться частью более сложных задач. В обоих случаях практическая ценность метода в значительной мере определяется быстротой и эффективностью полученного решения.

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

АЛГЕБРАИЧЕСКИЕ И ТРАНСЦЕНДЕНТНЫЕ

УРАВНЕНИЯ

ОДНО УРАВНЕНИЕ

СИСТЕМА УРАВНЕНИЙ

ЛИНЕЙНОЕ

 

 

 

 

 

 

ЛИНЕЙНАЯ

 

НЕЛИНЕЙНАЯ

(одно

 

НЕЛИНЕЙНОЕ

 

(одно

 

(несколько

решение)

 

 

 

 

 

 

решение)

 

решений)

 

 

 

 

 

 

 

 

 

 

АЛГЕБРАИЧЕСКОЕ

 

ТРАНСЦЕНДЕНТНОЕ

 

(неопределенное

(n решений)

 

 

число решений)

 

 

 

 

 

Рис. 1.1 Классификация уравнений и систем уравнений в зависимости от числа решений

Одно уравнение будем называть линейным, алгебраическим или трансцендентным в зависимости от того, имеет ли оно одно решение, n решений или неопределенное число решений. Систему уравнений будем называть ли-

6

нейной или нелинейной в зависимости от математической природы входящих в нее уравнений.

Решение линейного уравнения с одним неизвестным получается достаточно просто и здесь не рассматривается.

Концепция методов

Способы решения систем линейных уравнений делятся на две группы:

точные (прямые) методы, представляющие собой конечные алгоритмы для вычисления корней системы (решение систем с помощью обратной матрицы, метод Крамера, метод Гаусса и др.), т.е. при использовании таких методов за конечное число действий получаем точное решение системы. Точное реше-

ние получается в том случае, если вычисления проводить без округлений, т.е. понятие точное относится к алгоритму решения 1.

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

(метод итерации, метод Зейделя и др.).

Вследствие неизбежных округлений результаты даже точных методов являются приближенными. При использовании итерационных методов, сверх того, добавляется погрешность метода.

Эффективное применение итерационных методов существенно зависит от удачного выбора начального приближения и быстроты сходимости процесса.

В общем виде линейная система уравнений записывается следующим образом:

a

11

x

1

+ a

12

x

2

+ a

13

x

3

+ ...+ a

1n

x

n

= b

 

 

 

 

 

 

 

 

 

 

 

1

 

a21 x1 + a22 x2 + a23 x3

+ ...+ a2n xn

= b2

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

....................................................................

 

a

n1

x

1

+ a

n2

x

2

+ a

n3

x

3

+ ...+ a

nn

x

n

= b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

или чаще в матричном виде: a x = B , где а – квадратная матрица размером n x n, B и x – векторы размером n (n – размерность системы).

Метод Гаусса

Рассмотрим систему n линейных алгебраических уравнений относительно

n неизвестных х1, х2, , хn:

 

 

 

 

 

 

 

 

a

11

x

1

+ a

12

x

2

+ ...+ a

1n

x

n

= b

 

 

 

 

 

 

 

 

1

 

a21 x1 + a22 x2 + ...+ a2n xn

= b2

(1.1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

................................................

 

a

n1

x

1

+ a

n2

x

2

+ ...+ a

nn

x

n

= b

 

 

 

 

 

 

 

 

 

 

 

 

n

 

Метод Гаусса, его еще называют методом Гауссовых исключений (методом последовательных исключений), состоит в том, что систему (1.1) приво-

1 Метод Крамера для ЭВМ не всегда удобен. Ведь чтобы вычислить определитель nго порядка нужно сделать (n-1)·n! вычислений. Тогда, при n=20 получаем 19·20!=4,5·1019 действий, что для ЭВМ с быстродействием в 1 млн. операций в секунду потребует 1,4·106 лет!

Метод Гаусса дает 2n3/3+0(n2) операций, что гораздо меньше и вполне приемлемо.

7

дят последовательным исключением неизвестных к эквивалентной системе с верхней треугольной матрицей:

x1 +α

12 x2 + ...+α1n xn = β1

 

 

 

 

x2

+ +α2n xn = β2

 

 

 

 

,

(1.2)

 

 

 

 

 

 

..................................

 

 

 

 

xn = βn

 

 

 

 

 

 

 

решение которой находят по рекуррентным формулам:

 

 

 

 

n

(i = n 1, n 2,...,1)

 

xn = βn ,

xi

= βi αi , j xj ,

(1.3)

j=i+1

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

 

a11

a12

L a1n

b1

 

1 α12 L α1n

β1

 

 

A

a

 

a

 

L a

 

 

b

 

0 1

L α

 

β

 

 

=Â1,

=

21

 

22

 

2n

2

 

 

 

2n

 

 

2

 

1

 

 

L L L L

 

 

 

 

 

 

 

 

 

 

L

 

L L L L L

 

 

 

 

 

 

a

 

L a

 

b

 

L 1

β

 

 

 

 

a

n1

n2

nn

 

0 0

n

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

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

1

0

L 0

x1

 

 

1

L 0

x2

 

0

 

 

 

 

 

 

.

L L L L L

 

 

 

0

L 1

x

 

0

 

 

 

 

 

 

n

Последний, (n+1) столбец этой матрицы содержит решение системы (1.1). Рассмотрим изложенное более подробно.

Верхняя треугольная система линейных уравнений1

Рассмотрим алгоритм обратной подстановки, который полезен для решения систем линейных уравнений, имеющих верхнюю треугольную матрицу коэффициентов.

Определение: Матрица A = aij размера N x N называется верхней тре-

угольной

в

том случае, если элементы aij = 0 , как только i > j . Матрица

 

размера N x N называется нижней треугольной в том случае, если

A = aij

элементы aij

= 0 , как только i < j .

Рассмотрим метод получения решения верхней треугольной системы линейных уравнений. Если A - верхняя треугольная матрица, то говорят, что A x = B - это верхняя треугольная система уравнений, и она имеет вид:

1 Основы работы с матрицами в MS Excel представлены в приложении 1

8

a

11

x

1

+ a

12

x

2

+ a

13

x

3

+K+ a

1 N 1

x

N 1

+ a

1 N

x

N

= b

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

a22 x2 + a23 x3 +K+ a2 N 1 xN 1 + a2 N xN = b2

 

 

 

 

 

 

 

 

 

a33 x3 +K+ a3 N 1 xN 1 + a3 N xN

= b3

(1.4)

 

 

 

 

 

 

 

 

 

 

 

 

 

M

 

 

 

 

 

 

 

 

M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

aN 1 N 1 xN 1 + aN 1 N xN = bN 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

NN

x

N

= b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

Теорема (обратная подстановка). Предположим, что A x = B - верхняя треугольная система уравнений, заданная в виде (1.4). Если

akk 0 для k = 1, 2,K, N ,

(1.5)

то существует единственное решение системы (1.4)

Доказательство.

Решение можно легко найти. Последнее уравнение включает только одно неизвестное xN , поэтому вычисляем его первым:

 

 

xN =

 

bN

.

 

 

(1.6)

 

 

 

 

 

 

 

 

 

 

 

aNN

 

 

 

Известное xN можно использовать в следующем уравнении:

 

 

 

xN 1

= bN 1 aN 1 N xN .

(1.7)

 

 

 

 

 

 

 

aN 1 N 1

 

 

 

Затем известные xN и xN 1 используем для нахождения xN 2 :

 

 

xN 2

=

bN 2 aN 2 N 1 xN 1 aN 2 N xN

.

(1.8)

 

 

 

 

 

 

 

 

 

aN 2 N 2

 

 

 

Когда значения xN , xN 1 ,K, xk+1 известны,

можно записать общую фор-

мулу:

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bk

akj xj

 

 

 

xk =

 

j=k+1

 

 

 

для k = N

1, N 2,K, 1

(1.9)

 

akk

 

 

 

 

 

 

 

 

 

 

 

 

Легко видеть, что решение единственно.

Метод исключения Гаусса и выбор главного элемента

Рассмотрим схему решения системы A x = B N уравнений с N неизвестными. Нашей целью является построение эквивалентной верхней треугольной системы α x = β , которую можно решить методом обратной подстановки.

Говорят, что две линейные системы размера N x N эквивалентны, если они имеют одно и то же множество решений. Теоремы из линейной алгебры показывают, что применение определенных преобразований к заданной системе не изменяет множества решений.

Теорема (элементарные преобразования). Следующие операции, приме-

ненные к линейной системе, приводят к эквивалентной системе.

9

Перестановки

Порядок двух уравнений может быть изменен

Масштабирование

Умножение уравнения на не равную нулю константу

Замещение

Уравнение можно заменить суммой этого же уравнения и

 

любого другого уравнения, умноженного на не равную

 

нулю константу

Чаще всего используют замещение, чтобы заменить уравнение разностью между этим уравнением и кратным другому уравнению. Рассмотрим это на примере

Пример. Найдем параболу y = A + B x + C x2 , которая проходит через

три точки: (1; 1), (2; -1), (3; 1).

Для каждой точки найдем уравнение связывающее значение x со значением y . Результатом является система линейных уравнений:

A + B +C =

1

( 1;1 )

 

 

B + 4

C = −1

( 2;1 )

(1.10)

A + 2

 

B + 9

C = 1

( 3;1 )

 

A + 3

 

Если вычесть первое уравнение из второго и третьего, то исключается переменная А. Это применение преобразования замещения. В результате получаем эквивалентную линейную систему.

A + B + C = 1

 

 

B + 3 C = −2

(1.11)

 

 

2 B + 8 C = 0

 

 

 

Переменная В исключается из третьего уравнения (1.11) путем двукратного вычитания из него второго уравнения. Получается эквивалентная верхняя треугольная система уравнений.

A + B + C = 1

 

 

B + 3 C = −2

(1.12)

 

 

2 C = 4

 

 

 

Воспользуемся алгоритмом обратной подстановки для нахождения коэф-

фициентов: C = 4 / 2 = 2 ; B = −2 3 2 = −8 ;

A = 1 ( 8 ) 2 =7 . Следователь-

но уравнение параболы имеет вид: y =7 8 x + 2 x2 .

Эффективнее всего можно хранить коэффициенты линейной системы A x = B как матрицу размера N х (N+1). Коэффициенты В хранятся в (N+1)

столбце матрицы. Расширенная матрица обозначается как A B , и систему уравнений представляют в виде:

 

 

 

a11

a12 L a1 N

b1

 

 

 

 

 

a

 

a

 

L

a

 

b

 

 

A

 

B

=

 

21

 

22

 

 

2 N

2

 

(1.13)

 

 

 

 

M

M

L

M

M

 

 

 

 

 

 

 

 

 

 

a

 

L

a

 

b

 

 

 

 

 

a

N 1

N 2

NN

 

 

 

 

 

 

 

 

 

 

N

 

10

К расширенной матрице также можно применять операции согласно вышеизложенной теореме об элементарных преобразованиях.

Определение (главный элемент). Коэффициент arr матрицы А, который используется, чтобы исключить элементы akr , где k = r + 1, r + 2,K, N , назы-

вается r главным (ведущим) элементом и r строка – главной строкой.

Пример. Представить следующую систему в форме расширенной матрицы, найти эквивалентную ей верхнюю треугольную систему линейных уравне-

ний и ее решение

+2 x2 + x3 +4 x4 =13

x1

2 x1

+0 x2 +4 x3 +3 x4 =28

4 x1

+2 x2 +2 x3 + x4 =20

3 x1 + x2 +3 x3 +2 x4 = 6

Расширенная матрица имеет вид:

 

 

 

 

 

 

 

 

 

 

 

 

1

2

1

4

13

Главный элемент

 

 

2

0

4

3

28

 

m21=2

 

 

 

m31=4

 

4

2

2

1

20

 

 

m41=-3

 

3 1

3

2

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Первая строка используется, чтобы исключить элементы под диагональю в первом столбце. Мы обращаемся к первой строке, как к главной, и называем

элемент a11 = 1 главным.

Значение mk 1

является множителем строки 1, кото-

рую вычитаем из k строк,

k = 2,3,4 . Результатом первого исключения будет

 

 

 

1

2

1

4

 

13

 

 

 

 

 

 

Главный элемент

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

2

5

 

2

 

 

 

0

 

 

 

m32=1,5

0

6

2

15

 

32

 

 

 

7

6

14

 

45

 

 

m42=-1,75

0

 

 

 

 

 

 

 

 

 

 

 

 

Вторая строка используется, чтобы исключить элементы под диагональю во втором столбце. Эта строка является главной, и значение mk 1 является мно-

жителем строки 2, которую вычитаем из k строк, k = 3,4 . Результатом исключения будет.

 

 

 

1

2

1

4

 

13

 

 

 

 

Главный элемент

 

 

 

 

 

 

 

 

0

4

2

5

 

2

 

 

 

0

0

 

7 ,5

 

35

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

m43=-1,9

 

0

9,5

5,25

 

48,5

0

 

 

 

 

 

 

 

 

 

 

 

 

Наконец, умножаем m43 = −1,9 на третью строку, вычитаем из четвертой стоки и в результате получаем верхнюю треугольную систему уравнений

11

 

1

2

 

1

4

 

13

 

 

 

 

 

 

 

0

4

2

5

 

2

 

0

0

5 7 ,5

 

35

 

 

 

0

 

0

9

 

18

 

0

 

 

 

 

 

 

 

 

 

 

 

 

Для решения системы линейных уравнений воспользуемся алгоритмом обратной подстановки и получим:

x4 = 2

x3 = 4

x2 = −1

x1 = 3

Описанный выше процесс называется методом исключения Гаусса и должен быть модифицирован так, чтобы его можно было использовать в большинстве случаев. Если akk = 0 , то строку k нельзя использовать для исключения

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

Рассмотрим решение системы в общем виде на примере системы 4 уравнений с 4 неизвестными:

a11 x1 + a12 x2 + a13 x3 + a14 x4 =a15

 

 

x1

+ a22 x2

+ a23 x3 + a24 x4

=a25

 

a21

(1.14)

 

x1

+ a32 x2

+ a33 x3 + a34 x4

=a35

a31

 

 

x1

+ a42 x2

+ a43 x3 + a44 x4

=a45

 

a41

 

Первый шаг. Выберем ведущий элемент первого шага, отличный от 0. Если a11 0 , то возьмем его за ведущий на первом шаге, если равен 0, то переста-

вим уравнения в системе так, чтобы a11 0 .

Разделим первое уравнение на ведущий элемент a11 , получим уравнение:

 

 

x1

+

a12

x2 +

a13

x3 +

a14

x4

=

a15

 

 

 

a11

 

 

a11

 

 

a1 j

 

 

 

a11

 

a11

 

(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

Обозначим a1 j

=

 

 

. Тогда уравнение примет вид:

a11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Исключим x1

 

x1 + a12(1) x2 + a13(1) x3 + a14(1) x4 = a15(1)

из остальных уравнений системы, сложив их с первым, ум-

ноженным, соответственно, на ai 1 (i 2).

Для коэффициентов при x2 , x3 , x4

введем обозначение:

aij(1) = aij ai 1 a1(1j) , (i , j 2)

Рассмотрим систему:

12

a11 x1 + a12(1) x2 + a13(1) x3 + a14(1) x4 =a15(1)

 

 

x

 

+ a(1)

x

 

+ a(1) x

 

+ a(1) x

 

=a(1)

 

 

 

 

 

 

(1.15)

 

 

1

22

 

2

23

3

24

4

25

 

x1 + a32(1)

x2

+ a33(1) x3 + a34(1) x4

=a35(1)

 

 

x1 + a42(1)

x2

+ a43(1) x3 + a44(1) x4

=a45(1)

 

 

 

Взяв последние три уравнения, получим систему трех уравнений с тремя неизвестными:

 

a22(1) x2 + a23(1) x3 + a24(1) x4 = a25(1)

 

 

 

(1)

 

 

(1)

 

 

 

(1)

x4

 

(1)

(1.16)

 

a32

x2 + a33

x3 + a34

= a35

 

 

(1)

 

 

(1)

 

 

 

(1)

x4

 

(1)

 

 

 

a42

x2 + a43

x3 + a44

= a45

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В системе (1.16) разделим первое уравнение на a22(1) 0 для выделения x2

(если a22(1) = 0 , то меняем уравнения местами):

 

 

 

 

x2 + a23(2) x3 + a24(2) x4 = a25(2) , где a2(2j) = a2(1j)

(1) , ( j > 2)

(1.17)

Исключив x2

 

 

 

 

 

 

 

 

 

 

 

a22

 

из остальных уравнений (1.16) получим их в виде:

 

 

 

(2)

 

 

(2)

 

 

 

(2)

 

 

 

 

 

a33

x3 + a34

x4 = a35

 

 

 

(1.18)

 

 

 

x

 

+ a(2)

x

 

= a(2)

 

 

 

 

a(2)

3

4

 

 

 

 

 

 

43

 

44

 

 

45

 

 

 

 

где aij(2) = aij(1)

ai(21) a2(2j) ,

(i , j 3)

 

 

 

 

 

 

 

И, наконец, разделив первое уравнение (1.18) на a33(2) , получим:

 

x3 + a34(3) x4

= a35(3) , где a3(3j) = a3(2j)

(2) , ( j > 3)

(1.19)

Исключив x3

 

 

 

 

 

 

 

 

a33

 

 

 

из второго уравнения (1.16) получим:

 

 

a44(3) x4 = a45(3)

(aij(3)

= aij(2) ai(32) a3(3j) ,

i , j 4)

(1.20)

Отсюда уже можно найти x4 .

На этом заканчивается прямой ход. Легко усмотреть общий вид формул пересчета коэффициентов для прямого хода:

akj(k ) = akj(k1)

(k1) , ( j > k , k =

 

ajk

aij(k ) = aij(k1) aik(k1) akj(k ) , (i, j

1,2,...,n)

k )

(1.21)

(1.22)

Формула (1.21) – для ведущих уравнений, а (1.22) – для остальных. Таким образом, в результате прямого хода получена верхняя треугольная

система из уравнений (1.15), (1.17), (1.19) и (1.20) из которой можно найти:

13