Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Численные методы решения задач строительства. Ч. 1

.pdf
Скачиваний:
6
Добавлен:
20.11.2023
Размер:
4.02 Mб
Скачать

датируется по меньшей мере 250-м годом до н.э., хотя и носит имя Гаусса.

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

Процесс решения состоит из двух этапов: прямого и обратного хода.

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

Продемонстрируем метод Гаусса на примере системы из трех уравнений. Обозначим каждое уравнение буквами A(i), B(i), C(i) (здесь (i) соответствует номеру шага).

a11x1 a12 x2

a13 x3

b1

| A(0) ,

 

a21x1 a22 x2 a23 x3

b2

| B 0 ,

(3.3)

a

x a

x

a

x

b

| C(0) .

 

 

31

1

32

2

33

3

3

 

 

 

 

 

Прямой ход

Шаг 1. Допустим ведущий элемент а11 отличен от нуля. Разделим первое уравнение на а11. Полученное при этом уравнение домножим последовательно на коэффициенты (–а21) и (–а31) и сложим с соответствующими элементами 2-й и 3-й строки.

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

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

51

Действия:

x

a(1) x

a(1) x

b(1)

| A 1 A 0 / a ,

 

 

 

1

12

2

13

3

1

 

11

B

, (3.3а)

 

 

a22(1) x2

a23(1) x3

b2(1)

| B A a21

 

 

 

 

 

 

 

1

1

0

 

 

 

a32(1) x2 a33(1) x3

b3(1)

| C 1 A 1 a31 C 0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

Шаг 2. Выполняя аналогичные действия со вторым и третьим уравнениями (1-е уравнение при этом остается неизменным), исключаем неизвестное х2:

Действия:

x

a(1) x

a(1) x

b(1)

| A 2 A 1 ,

 

 

 

1

12

2

13

3

1

| B

B

/ a22 ,

(3.3б)

 

 

 

x2 a23(2) x3

b2(2)

 

 

 

 

 

 

 

2

1

1

 

 

 

 

 

a33(2) x3 b3(2)

| C 2 B 2

a321 C 1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Обратный ход. Из последней строки полученной системы (3.3б) находим значение неизвестного х3:

b(2) x3 a3(2) .

33

Подставляя его во 2-ю строку системы (3.3б), получим значение х2:

x2 b2(2) a23(2) x3.

Имея х2, х3, аналогичным образом найдем х1 из 1-го уравнения этой же системы:

52

x1 b1(1) a12(1) x2 a13(1) x3.

Рассмотрим простой численный пример.

Пример 3.1. Методом Гаусса решить систему уравнений

2x1 4x2 3x3 4,

 

3x1

x2 2x3 2,

 

4x

11x

7x 7.

 

1

2

3

Составим матрицу коэффициентов, включая свободные члены (расширенную матрицу):

 

2

4

3

 

4

 

 

(0)

 

3

1

2

 

 

 

A

 

 

2

 

 

4

11

7

 

7

 

 

 

 

 

 

 

 

 

 

 

Прямой ход

1-й шаг. 1-ю строку матрицы делим на а11 = 2. Умножаем полученную строку сначала на (–3) и складываем со 2-й, а затем на (–4) и складываем с 3-й:

 

1

2

1,5

 

2

 

 

(1)

 

 

5

6,5

 

8

 

A

0

 

 

 

 

0

3

1

 

1

 

 

 

 

 

 

 

 

 

 

 

2-й шаг. 2-ю строку матрицы А(1) делим на а22 = –5. Умножаем полученную строку на (–3) и складываем с 3-й строкой этой же матрицы:

 

1

2

1,5

 

2

 

 

 

(2)

 

0

1

1,3

 

1,6

 

A

 

 

 

 

 

 

0

2,9

 

5,8

 

 

0

 

 

 

 

 

 

 

53

Обратный ход

Из последнего уравнения (3-я строка матрицы) получаем

x3 5,8 . 2,9

Из 2-го уравнения находим

x2 1,6 1,3x3 1,6 1,3 2 1.

Из 1-го уравнения получаем

x1 2 2x2 1,5x3 2 2 1 1,5 2 1.

Таким образом, полученное решение имеет вид

X 1, 1,2 .

Решение этого примера с использованием электронных таблиц Excel приведено в подразд. 3.6.1.

В процессе решения системы возможны три случая:

1.Решение системы существует и является единст-

венным, когда матрица коэффициентов невырожденная (при этом на последнем шаге решения получается одно уравнение с одним неизвестным).

2.Система уравнений вообще не имеет решений (та-

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

3.Система уравнений имеет бесконечное множество решений (это получается, когда на некотором шаге в системе получается строка, в которой все коэффициенты и свободный член равны нулю).

При практическом применении метода Гаусса сле-

дует обратить внимание на следующие моменты:

1.Если в ходе приведения матрицы А к треугольному виду на главной диагонали окажется элемент, равный ну-

54

лю, эта схема расчета формально непригодна, хотя система может иметь единственное решение.

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

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

кацию метода называют методом Гаусса с выбором главно-

го элемента.

3.2.2. Метод прогонки

Метод прогонки является модификацией метода Гаусса для частного случая систем уравнений с трехдиагональной матрицей вида

b1x1 c1x2

 

 

 

 

d1

(3.4)

a x b x c x

 

 

d

2

 

 

2

1

2

2

2

3

 

 

 

 

 

 

 

 

a3 x2 b3 x3 c3 x4

 

d3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

an 1xn 2

bn 1xn 1 cn 1xn dn 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a x

b x

d

n

 

 

 

 

 

 

 

 

n n 1

n n

 

 

 

 

 

Векторы:

a

b c d

 

Метод прогонки состоит из двух этапов: прямой и об-

ратной прогонки. При прямой прогонке каждое неизвестное xi выражается через xi+1 с помощью прогоночных коэффици-

ентов Ui, Vi.

55

Из 1-го уравнения системы (3.4) выражаем x1:

 

 

 

 

 

 

x1 U1x2 V1,

где U

1

c1

,

V d1 .

(3.5)

 

b1

 

1

b1

 

 

 

 

 

 

Из 2-го уравнения системы (3.4) выражаем x2:

x

c2

x

d2 a2V1

U x V .

 

 

2

a2U1 b2

3

a2U1

b2

2

3

2

 

 

 

 

 

Продолжая этот процесс при условии, что V0 = 0, получим рекуррентную формулу для xi:

xi Ui xi 1

Vi ,

 

i 1,2, , n 1,

где

 

 

c

 

 

d

 

aV

 

U

 

 

V

 

i

 

i

 

i ,

 

i i 1

,

 

 

 

 

 

 

Li

 

i

 

 

 

Li

 

 

 

 

 

 

 

 

 

 

 

 

 

L aU

i 1

b .

 

 

 

 

 

i

i

 

 

i

 

После прямого хода система (3.4) примет вид

x1 U1x2 V1, x2 U2 x3 V2 ,

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

xn 1 Un 1xn Vn 1, an xn 1 bn xn dn .

(3.6)

U0 = 0,

(3.7)

(3.8)

(3.9)

Обратная прогонка состоит в последовательном вычислении неизвестных xi. Сначала вычисляется неизвестное xn из двух последних уравнений преобразованной сис-

темы (3.9):

x

dn anVn 1

.

(3.10)

 

n

bn anUn 1

 

 

 

56

Затем, используя выражение (3.7), последовательно вычисляются все остальные неизвестные xn 1, xn 2 , , x2 , x1.

Алгоритм метода прогонки:

1. Вычисляются прогоночные коэффициенты Ui, Vi по формулам (3.8) для i = 1, 2, … n – 1 при условии, что

U0 = 0, V0 = 0.

2.Определяются xn из выражения (3.10).

3.По формуле (3.7) последовательно вычисляются все

остальные неизвестные xn 1, xn 2 , , x2 , x1.

3.3. Итерационные методы решения систем линейных алгебраических уравнений

В этой группе методов мы познакомимся с двумя старыми и простыми методами: методом Якоби и методом Га- усса–Зейделя [8, 14].

3.3.1. Метод Якоби (простых итераций)

Задана система линейных алгебраических уравнений

a11x1 a12 x2 a1n xn b1,a21x1 a22 x2 a2n xn b2 ,

..

an1x1 an2 x2 ann xn bn

или в матричной форме

A X B.

(3.11)

(3.11а)

Для сходимости итерационного процесса необходимо выполнение условия «преобладания диагональных элемен-

тов», т.е. диагональные элементы матрицы А должны удовлетворятьусловию

aii

 

 

 

aij

 

,

i 1, 2, , n .

(3.12)

 

 

 

 

 

 

i j

 

 

 

 

 

 

57

Преобразуем систему (3.11) к эквивалентной, выражая неизвестное xi из каждого i-го уравнения:

 

 

x (b a x a

x ) / a ,

 

 

 

 

 

 

1

 

1

 

 

 

12 2

 

 

 

 

 

1n

 

n

11

 

 

 

 

 

 

 

x2 (b2 a21x1 a2n xn ) / a22

,

 

 

 

(3.13)

 

 

 

..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

(b

 

a

 

 

x

a x

 

) / a .

 

 

 

 

 

 

n

 

 

n

 

 

 

 

n1 1

 

 

nn 1 n 1

 

 

nn

 

 

 

 

Система (3.13) называется системой, приведенной к

нормальному виду.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вводя обозначения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ij

aij

,

i

 

b

 

,

 

 

i 1,2, n,

 

 

j

1,2, , n,

i j,

 

 

 

 

i

 

 

 

 

 

aii

 

 

 

 

 

 

 

 

 

 

 

 

 

aii

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

систему (3.13) можно записать в матричной форме:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

(3.14)

 

 

 

 

 

 

 

 

 

 

 

 

X

 

X

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

12

 

 

 

 

 

 

1n

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

где

 

 

 

 

 

2n ;

 

 

 

 

 

;

 

X

 

(3.15)

 

21

 

 

 

 

 

 

 

 

 

 

 

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n2

 

 

0

 

 

 

 

n

 

 

 

 

 

 

 

 

 

n1

 

 

 

 

 

 

 

 

 

xn

 

 

Используя выражение (3.14), строим последовательность приближений (итераций), выбрав в качестве нулевого при-

ближения, например, нулевой вектор или столбец свободных членов:

 

 

(0)

 

 

 

,

 

 

 

 

 

 

X

 

 

 

 

 

 

(1)

 

 

 

 

 

 

 

 

(0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

X

 

 

,

(3.16)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k )

 

 

 

 

 

 

 

 

 

(k 1)

 

 

X

 

.

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

58

Таким образом, получили последовательность при-

ближений (итераций)

 

 

X (0) , X (1) , ,

X (k ) ,

(3.17)

Если эта последовательность имеет предел

X lim X (k ) ,

k

то он является точным решением системы (3.11).

На практике итерационный процесс продолжается до тех пор, пока два соседних приближения не станут достаточно близкими.

Критерий близости двух приближений X (k ) и X (k 1)

может быть определен следующим образом:

 

(k )

max

 

x(k ) x(k 1)

 

.

(3.18)

M

 

 

 

 

i

 

i

i

 

 

 

 

 

 

 

 

 

 

 

Если условие (3.18) выполнено, то итерационный процесс прекращается. За приближенное решение системы

(3.11) с заданной точностью принимается (k)-е приближение, т.е.

X X (k ) .

Если условие (3.18) не выполняется, то итерационный процесс (3.17) необходимо продолжить до тех пор, пока условие не выполнится.

Замечания

1. Начальный вектор X (0) может быть взят произволь-

ным, так как сходимость итерационного процесса зависит

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

59

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

Пример 3.2. Методом Якоби решить систему линейных алгебраических уравнений:

8x1 x2 4x3 6,

 

 

 

6 x2 x3

9,

(3.19)

2x1

x

x

4x

5.

 

 

1

2

3

 

 

Решение. Условие преобладания диагональных коэффициентов матрицы системы выполнено. Приведем эту систему к нормальному виду:

x1x2x3

0,75 0,125x2

0,5x3 ,

 

1,5 0,333x1 0,167x3 ,

(3.20)

0,125 0, 25x1

0, 25x2 .

 

В матричной форме систему (3.20) можно записать так:

x1

 

0,75

0

0,125

0,5

 

x1

 

 

x

2

 

 

1,5

 

 

0,333

0

0,167

 

x

 

(3.21)

 

 

 

 

 

 

0,25

0,25

0

 

 

2

 

 

x

 

1,25

 

 

 

x

 

 

 

3

 

 

 

 

 

 

 

 

 

 

3

 

 

За начальное (нулевое) приближение решения системы примем нулевой вектор, т.е.

x(0)

0,

x(0)

0,

x(0)

0.

1

 

2

 

3

 

Подставляя эти значения в правые части уравнения (3.20), получим первое приближение решения системы (первую итерацию):

60