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

5531

.pdf
Скачиваний:
2
Добавлен:
13.11.2022
Размер:
1.75 Mб
Скачать

Шаг 6. Находим

 

1

0

0

0,9

0

0,4358

0,9

0

0,4358

U UH

0

0,8112

0,5847

0

1

0

0,2548

0,8112

0,5262 .

 

0

0,5847

0,8112

0,4358

0

0,9

0,3535

0,5847

0,7301

Это новая матрица U .

Приближение 3

Шаг 1. Максимальный по модулю элемент верхней части матрицы A a12 0,3224.

Шаг 2. Прекращение действий позволит указать ответ с ошибкой, не превышающей примерно 0,32. Имеет смысл уменьшить ошибку. Действия продолжаются.

Шаг

 

 

3.

 

 

Находим

 

a11 6,1304, a22 8,1623

и

0,5arctg

2

0,3224

 

0,1536 .

 

 

 

 

 

 

 

 

 

 

 

6,1304

8,1623

 

 

 

 

Шаг 4. Находим cos 0,1536 0,9882 и sin 0,1536

0,1530. Матрицы пово-

рота

 

 

 

 

 

 

 

 

 

 

 

0,9882

0,153

0

 

0,9882

0,153

0

 

H

0,153

0,9882

0

и H T

0,153

0,9882

0 .

 

 

0

 

0

 

1

 

0

0

1

 

Шаг 5. Новая матрица A :

0,9882

 

0,153

0

6,1304

0,3224

0,1283

0,9882

0,153

0

Anew

0,153

 

0,9882

0

-0,3224

8,1623

0,1561

0,153

 

0,9882

0

 

0

 

0

1

0,1283

0,1561

0,7067

0

 

0

1

6,0802

0

 

0,1507

 

 

 

 

 

 

 

 

 

0

8,2118

0,1346 .

 

 

 

 

 

 

 

 

0,1507

0,1346

0,7067

 

 

 

 

 

 

 

 

 

Шаг 6. Новая матрица U :

 

 

 

 

 

 

 

 

 

0,9

 

0

0,4358

0,9882

 

0,153

0

U UH

0,2548

0,8112

0,5262

 

0,153

0,9882

0

 

0,3535

 

0,5847

0,7301

 

 

0

 

0

1

0.8894

0.1377

 

0,4358

 

 

 

 

 

 

 

0.3760

0,7626

 

0,5262

 

 

 

 

 

 

 

0.2599

0,6319

 

0,7301

 

 

 

 

 

 

 

Приближение 4

Шаг 1. Максимальный по модулю элемент верхней части матрицы A a13 0,1507.

61

Шаг 2. Ошибка уменьшилась примерно в два раза. Также замечаем, что два числа на главной диагонали матрицы A изменились на 0,05, 3-е число и соответствующий ему собственный вектор (3-й столбец U ) не изменились. Другие два столбца матрицы U еще меняются. Если нас не устраивает точность около 0,1, продолжим действия.

Шаг 3. Находим a11 6,0802, a33 0.7067 и угол

2 0,1507

0,5arctg 6,0802 0.7067 0,028

Шаг 4. Находим cos 0,028 1 и sin 0,028 0,023. Матрицы поворота

 

1

0

0,023

 

1

0

0,023

H

0

1

0

и H T

0

1

0 .

 

0,023

0

1

 

0,023

0

1

Здесь a11

cos 0,028 1 è

a33

cos 0,028

1.

 

 

 

 

Шаг 5. Новая матрица A :

 

 

 

 

 

 

 

 

1

0

0,023

6,0802

 

0

0,1507

1

0

0,023

Anew

0

1

0

0

8,2118

0,1346

0

1

0

 

 

0,023

0

1

0,1507

0,1346

0,7067

0,023

0

1

 

6,0812

0

 

0,0108

 

 

 

 

 

 

 

 

 

0

8,2118

 

0,1345 .

 

 

 

 

 

 

 

 

 

0,0108

0,1345

 

0,7029

 

 

 

 

 

 

 

 

 

Шаг 6. Новая матрица U :

 

 

 

 

 

 

 

 

0.8894

0,1377

0,4358

 

1

0

0,023

 

 

U

UH

0.3760

0,7626

0,5262

 

0

1

0

 

 

 

 

0,2599

0,6319

0,7301

0,023

0

1

 

 

 

0,879

0,1377

0,4561

 

 

 

 

 

 

 

 

0,3879

0,7626

0,5173 .

 

 

 

 

 

 

 

 

0,2766

0,6319

0,7238

 

 

 

 

 

 

 

 

 

Приближение 5

 

 

 

 

 

 

 

 

 

Шаг 1. Максимальный по модулю элемент верхней части матрицы A

a13

0,1345.

 

 

 

 

 

 

 

 

 

 

 

Шаг 2. Формально действия необходимо продолжить. Однако элементы

на главой диагонали матрицы

A теперь меняются лишь в третьем знаке после

запятой. Изменения в матрице U не превышают 0,02. Дальнейшие действия не должны существенно изменить результат, и в силу их трудоемкости будем считать решение найденным.

62

Ответ.

 

С

точностью

0,01

собственные

числа

1 6,08,

2 8,21,

3 0,70 и соответствующие им собственные векторы

 

 

0,88

 

 

0,14

0,46

 

 

U1

0,39

,

U2

0,76 , U3

0,52 .

 

 

 

0,27

 

 

0,63

0,72

 

 

§8. Решение некоторых задач алгебры в пакете EXCEL

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

вEXCEL.

8.1. Решение систем методом обратной матрицы

Пусть дана система AX F , надо найти столбец X. Для решения необходимо, чтобы матрица A была квадратной и её определитель не равнялся нулю.

1.Заносим коэффициенты матрицы A в том же порядке, в каком они расположены в системе. Если в каком-либо уравнении отсутствует одно или несколько неизвестных то, в соответствующих местах указываем число 0.

2.Заносим правый (свободный) столбец F – также в виде столбца.

3.Обводим свободное место той же размерности, что и матрица си-

стемы.

4.Набираем на этом месте формулу =МОБР(A), где вместо A указываем ссылку на матрицу (можно обвести матрицу мышью).

5.Нажимаем одновременно Ctrl – Shift – Enter. Появляется матрица, обратная к A, т.е. матрица A 1.

6.Обводим свободный столбец той же высоты, что и F.

7.Набираем формулу =МУМНОЖ( A 1;F), где вместо A 1 указываем ссылку на обратную матрицу (можно обвести её мышью), а вместо F – ссылку на F.

8.Нажав Ctrl – Shift – Enter, получаем решение системы – столбец X.

9.Чтобы проверить решение, можно обвести свободный столбец той же высоты, что и F, набрать формулу =МУМНОЖ(A; X) с соответствую-

63

щими ссылками, и нажать Ctrl – Shift – Enter. Появится столбец, совпадающий с F.

Если A 0 , на 5-м шаге появится указание на невозможность его выполнения (текст «ЗНАЧ!»). Такие системы решаются только методом Гаусса или Гаусса – Жордана и имеют множество решений (либо не имеют их вовсе).

Замечание. Enter нажимается, когда Ctrl и Shift уже нажаты. Если результат не получился (появилось только одно число), следует заново обвести место для произведения (не удаляя формулу), поместить курсор в строку формул и нажать кнопки снова.

Пример 1. Решим систему

 

 

 

 

 

x

2 y

z

0,

 

 

 

 

 

 

 

2x

 

4z

2,

 

 

 

 

 

 

 

 

3y

 

5z

11.

 

 

 

Решение. Для неё

1

2

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

2

0

4

, F

2 .

 

 

 

 

 

0

3

5

 

11

 

 

Заносим данные и формулы (столбец D пропускаем для наглядности):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

B

 

 

 

C

 

D

E

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

–2

 

 

 

–1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

2

 

2

 

0

 

 

 

4

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

3

 

0

 

3

 

 

 

5

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

=МОБР(A1:C3)

 

 

 

 

 

 

 

=МУМНОЖ

 

 

 

 

 

 

 

 

 

 

 

(A5:C7; E1:E3)

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Получаем обратную матрицу и решение системы:

 

 

 

A

B

C

D

F

 

 

 

 

 

 

 

 

 

5

 

0,316

0,342

0,211

 

3

 

 

 

 

 

 

 

 

 

6

 

–0,263

0,132

0,158

 

2

 

 

 

 

 

 

 

 

 

7

 

–0,158

0,079

–0,105

 

–1

 

 

 

 

 

 

 

 

Итак, x 3; y

2; z 1.

 

 

 

 

64

Пусть теперь выяснилось, что 2-е уравнение на самом деле должно выглядеть как 2x 4 y 2. Достаточно исправить 2 ячейки: в B2 занести число 4, а в C2 – число 0. Обратная матрица и решение мгновенно поменяются:

 

A

B

C

D

F

 

 

 

 

 

 

5

0,435

0,283

–0,087

 

–0,391

 

 

 

 

 

 

6

–0,217

0,109

0,043

 

0,696

 

 

 

 

 

 

7

–0,13

0,065

–0,174

 

–1,783

 

 

 

 

 

 

Таким же образом можно вносить в систему любые изменения (разумеется, не меняя её порядок) и тут же получать решение.

Несмотря на возможность легко решить систему методом обратной матрицы, решение приближёнными методами в EXCEL также представляет интерес, позволяя без лишней траты сил посмотреть, как работают эти методы.

8.2. Решение систем целой размерности методом простых итераций

Пусть по-прежнему дана система AX F и надо найти столбец X. Для решения необходимо, чтобы A была квадратной матрицей с диагональным преобладанием (см. § 3).

1. Выразим по правилам арифметики из 1-го уравнения 1-е неизвестное, из 2-го 2-е, и т.д. Получим набор формул.

2.Занесём (для определённости – в виде строки) друг за другом произвольные числа – по числу неизвестных. Обычно заносят 0, 1 или свободные коэффициенты (правый столбец). Эти числа будут соответствовать 1-й, 2-й и следующим переменным (неизвестным).

3.Ниже под каждым числом занесём формулу для соответствующей переменной, полученную на 1-м шаге. При этом ссылка на каждую переменную – это ссылка на ячейку из предыдущей строки.

4.Появится 2-е приближение решения – новый набор значений.

5.Обведём 2-ю строку и скопируем («протянем») мышью на 10 – 12 строк вниз. Увидим, что значения практически перестают меняться.

6.Числа в последней строке – это и есть приближённое решение методом простых итераций.

Естественно, начальное приближение можно записать и в виде столбца, тогда формулы на 3-м шаге надо занести не в строку ниже, а в столбец правее.

65

Замечание. Распространённая ошибка – на 3-м шаге пропустить строку (или столбец). Тогда получаются две последовательности для разных начальных приближений – одна для выбранного нами, другая для нулевого.

 

Пример 2. Решим систему

5x

y

11, методом простых итераций.

 

 

 

 

 

3x 4 y 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение. Убедившись, что

5

 

1

и

 

4

 

3

, выражаем из 1-го уравнения

x

11 y

, или x 0,2 11

y , а из 2-го выражаем y

 

3x 2

, или

y 0,25(3x 2) .

5

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дальнейшие действия сводятся к заполнению таблицы 1.

 

 

Таблица 1 – Решение примера 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

=0,2*(11–B1)

 

 

 

=0,25*(3*A1–2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

тянем вниз

 

 

 

тянем вниз

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь А и В – обозначения столбцов, цифры слева – номера строк. В 8-й строке с точностью 0,001 получим решение системы – числа 2 и 1.

 

5x

10 y

z

3,

 

Пример 3. Решим систему

20x

y

3z

26,

методом простых итераций.

 

 

x 2 y 4z 9.

Решение. Замечаем, что диагональное преобладание не выполнено, но появится, если переставить 1-е и 2-е уравнения:

 

 

 

 

 

 

20x y

 

3z

26,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5x

10 y

 

z

3,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2 y

4z

9.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В самом деле, теперь

20

 

1

 

3

,

 

10

 

 

5

 

1

и

4

 

 

1

 

2

.

 

Выражаем: x

26

y

3z

, y

 

5x

 

 

z

3

и z

9

x 2 y

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

4

 

 

Дальнейшие действия показаны в таблице 2.

Таблица 2 – Решение примера 3

 

A

B

С

 

 

 

 

1

0

0

0

 

 

 

 

2

=(26+B1–3*С1)/20

=(5*A1–С1–3)/10

=(9–A1–2*B1)/4

 

 

 

 

3

тянем вниз

тянем вниз

тянем вниз

 

 

 

 

66

В 7-й строке с точностью 0,001 получим решение системы – числа 1, 0 и 2. Меняя числа в 1-й строке, можно убедиться, что начальное приближение

никак не влияет на результат и мало сказывается на скорости сходимости.

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

8.3. Решение систем малой размерности методом Зейделя

Дана система AX F с диагональным преобладанием (см. § 3).

1.Выразим по правилам арифметики из 1-го уравнения 1-е неизвестное, из 2-го 2-е, и т.д. Получим набор формул.

2.Занесём строку из произвольных чисел. Тем самым 1-й и 2-й шаги – те же, что при решении методом простых итераций.

3.Под каждым числом занесём формулу для соответствующей переменной, полученную на 1-м шаге. Отличие – в том, что переменная с меньшим номером берётся не из предыдущей, а из очередной строки.

4.Дальнейшие шаги – те же, что в методе простых итераций.

Пример 4. Решим систему

5x

y

11

из примера 2 методом Зейделя.

 

3x

4 y

2

 

Решение. Сравните таблицу 1 и ниже приведённую таблицу 3.

Таблица 3 – Решение системы из примера 2 методом Зейделя

 

A

B

 

 

 

1

0

0

 

 

 

2

=0,2*(11–B1)

=0,25*(3*A2–2)

 

 

 

3

тянем вниз

тянем вниз

 

 

 

Как видно, в ячейке В2 вместо ссылки на А1 появилась ссылка на А2. В самом деле, очередное приближение переменной x только что найдено, и его можно использовать при вычислении переменной y.

Решение с точностью 0,001 получим уже не в 8-й строке, а в 5-й. Метод Зейделя ведёт к решению заметно быстрее.

Для сравнения приведём таблицу для решения примера 3 методом Зейде-

ля.

67

Таблица 4 – Решение примера 3 методом Зейделя

 

A

B

С

 

 

 

 

1

0

0

0

 

 

 

 

2

=(26+B1–3*С1)/20

=(5*A2–С1–3)/10

=(9–A2–2*B2)/4

 

 

 

 

3

тянем вниз

тянем вниз

тянем вниз

 

 

 

 

Решение с точностью 0,001 получим в 6-й строке. Скорость сходимости возросла незначительно из-за того, что диагональное преобладание выражено слабо.

8.4. Решение систем методом прогонки

Приведём пример, поскольку все формулы и алгоритм даны в §4. Пример 5. Решим систему 4-го порядка

10x 2 y 10,

3x 5 y z 1,

4 y 10z t 19,

5z 20t 30.

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

1. Запишем матрицу системы и правый столбец:

10

2

0

0

10

 

 

 

 

 

3

5

–1

0

1

 

 

 

 

 

0

4

10

1

19

 

 

 

 

 

0

0

5

–20

30

 

 

 

 

 

Если же занести эти данные в ячейки, после решения сможем сделать проверку. 2. Занесём коэффициенты, несущие информацию о системе, таким обра-

зом:

 

A

B

C

D

 

 

 

 

 

1

слева

диагональ

справа

свободный

 

 

 

 

 

2

0

10

2

10

 

 

 

 

 

3

3

5

–1

1

 

 

 

 

 

4

4

10

1

19

 

 

 

 

 

5

5

–20

0

30

 

 

 

 

 

Заголовки в строке 1 указывают, откуда взяты числа. Значение 0 в ячейках A2 и C5 нигде не используется и заносится, чтобы проще выполнить следующий шаг.

3. В таблице 5 делим элементы каждой строки на соответствующий элемент из столбца В. В столбцах A, C и D получим коэффициенты, к которым уже

68

можно применять метод прогонки. В столбце E указаны номера коэффициентов и параметров. Их названия даны в строке 7. Для удобства 6-я строка пропущена.

Формулы, набираемые в соответствующих ячейках, выглядят так:

Ф1: =–B9/(F9*A9+1);

Ф2: =(D9–A9*G9)/(F9*A9+1);

Ф3: =(D11–A11*G11)/(F11*A11+1);

Ф4: =F11*H11+G11 (знак «;» к формулам не относится).

Таблица 5 – Решение примера 5 методом прогонки

 

A

B

C

D

E

F

G

H

 

 

 

 

 

 

 

 

 

7

a

 

b

f

k

α

β

x

 

 

 

 

 

 

 

 

 

8

=A2/$B2

вправо

 

 

1

***

 

 

 

 

 

 

 

 

 

 

 

9

вниз

 

 

 

2

=–B8

=D8

вверх

 

 

 

 

 

 

 

 

 

10

 

 

 

 

3

=Ф1

=Ф2

=Ф4

 

 

 

 

 

 

 

 

 

11

 

 

 

 

4

вниз

вниз

=Ф3

 

 

 

 

 

 

 

 

 

В столбце H получим решение системы – значения x, y, z, t (числа 1, 0, 2 и –1). Формула Ф3 всегда набирается в последней строке и ссылается на ячейки

в этой же строке. Формула Ф4 всегда набирается над ней и ссылается на ячейки из последней строки.

Умножив матрицу, упомянутую на 1-м шаге, на числа из столбца H, получим правый столбец исходной системы.

Для сравнения покажем, как решить методом прогонки систему 5-го по-

рядка.

Пример 6. Решим систему

10x 2 y

20,

x

4 y

z

1,

3y

20z

2t 18,

z

5t

s

6,

2t

3s

 

2.

Решение. 1. Запишем матрицу системы и правый столбец:

10

–2

0

0

0

20

 

 

 

 

 

 

1

–4

–1

0

0

1

 

 

 

 

 

 

0

3

20

2

0

18

 

 

 

 

 

 

0

0

1

–5

1

6

 

 

 

 

 

 

0

0

0

2

3

–2

 

 

 

 

 

 

2. Занесём коэффициенты:

69

 

A

B

C

D

 

 

 

 

 

1

слева

диагональ

справа

свободный

 

 

 

 

 

2

0

10

–2

20

 

 

 

 

 

3

1

–4

–1

1

 

 

 

 

 

4

3

20

2

18

 

 

 

 

 

5

1

–5

1

6

 

 

 

 

 

6

2

3

0

–2

 

 

 

 

 

Значение 0 заносится с той же целью, что в примере 5.

3. Делим элементы каждой строки на соответствующий элемент из столбца В, протягивая формулу из ячейки А8 вправо и вниз до ячейки D12 включительно. Затем набираем формулы для вычисления α, β и x:

 

A

B

C

D

E

F

G

H

 

 

 

 

 

 

 

 

 

7

a

 

b

f

k

α

β

x

 

 

 

 

 

 

 

 

 

8

=A2/$B2

вправо

 

 

1

***

 

 

 

 

 

 

 

 

 

 

 

9

вниз

 

 

 

2

=–B8

=D8

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

3

=Ф1

=Ф2

вверх

 

 

 

 

 

 

 

 

 

11

 

 

 

 

4

вниз

вниз

=Ф4

 

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

 

=Ф3

 

 

 

 

 

 

 

 

 

Формулы выглядят так:

Ф1: =–B9/(F9*A9+1);

Ф2: =(D9–A9*G9)/(F9*A9+1);

Ф3: =(D12–A12*G12)/(F12*A12+1); Ф4: =F12*H12+G12.

В столбце H получим значения x, y, z, t, s (числа 2, 0, 1, –1 и 0).

Замечание. Метод L-U разложения намного удобнее реализуется в структурных языках программирования, например, в Pascal. В пакете EXCEL придётся практически в каждой ячейке набирать новую формулу.

Если не остановиться перед данной трудностью, можно увидеть, как при изменении входных данных меняются все результаты – матрицы L и U, вспомогательный столбец Z и само решение X.

8.5. Поиск собственного вектора методом простых итераций

Дана матрица An n . Надо найти для неё любой собственный вектор.

1. Занесём элементы матрицы А.

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]