Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы вычислений в Excel.pdf
Скачиваний:
187
Добавлен:
14.03.2016
Размер:
998 Кб
Скачать

Таким образом, задача состоит в том, чтобы при известных коэффициентах матрицы A и элементах вектора f найти такие

значения x1 x2 ... xm T , что при подстановке их в систему

уравнений (2.1) они превращаются в тождества.

Необходимым и достаточным условием существования единственного решения СЛАУ является условие det A 0 , т.е. определитель матрицы A не равен нулю. В случае равенства нулю определителя матрица A называется вырожденной и при этом СЛАУ (2.1) либо не имеет решения, либо имеет их бесчисленное множество. В дальнейшем мы будем предполагать наличие единственного решения.

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

Прямые методы решения СЛАУ

Метод Крамера

Метод Крамера относится к классу точных методов решения СЛАУ. На практике он часто используется при небольшой размерности системы m 2 5 . Формулы метода Крамера решения СЛАУ выглядят как:

xi

 

det Ai

, ( i 1,2,..., m )

(2.2)

det A

 

 

 

 

Эти формулы позволяют находить неизвестные в виде дробей, знаменателем которых является определитель матрицы

системы, а числителем – определители матриц Ai , получаемых

из A заменой i-го столбца столбцом правых частей. Так матрица A1 получается из матрицы A заменой первого столбца

на столбец правых частей f .

Размерность системы (т.е. число неизвестных m ) является главным фактором, из-за которого формулы Крамера не могут

24

быть использованы для численного решения СЛАУ большого порядка. При непосредственном раскрытии определителей решение системы с m неизвестными требует порядка m!m арифметических операций. Таким образом, для решения

системы,

например, из m 100

уравнений

потребуется

совершить

10158 операций, что не

под силу

даже самым

мощным современным ЭВМ. Для небольших m решение можно найти с помощью функций Excel.

ПРИМЕР 2.1. Рассмотрим

метод

Крамера

 

на

примере

системы

двух линейных

 

 

уравнений

вида

x

x

 

1

.

 

 

1

 

 

 

2

0

 

 

 

 

 

 

 

 

 

 

 

 

2x1 x2

 

Найдем определители:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

det A1

 

1

1

 

1 , det A2

 

1

1

 

2 ,

det A1

 

1

1

 

 

3.

 

 

 

 

 

 

 

 

 

 

 

 

2

0

 

 

 

0

1

 

 

 

 

2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение по формулам Крамера: x1 13 13 , x2 23 23 .

ПРИМЕР 2.2. Решить методом Крамера СЛАУ

2x1 x2 1

x1 3x2 2x3 7 .3x1 5x2 8x3 5

Занесем на рабочий лист матрицу СЛАУ, вектор правых частей f ,

 

2

1

0

 

 

1

 

 

1

3

2

 

, f=

7

, а также вспомогательные матрицы

A=

 

 

3

5

8

 

 

5

 

 

 

 

 

25

 

1 1

0

 

2

1

0

 

2

1

1

A1

 

7

3

2

 

A2

 

1

7

2

 

A3

 

1

3

7

 

=

 

=

 

=

.

 

 

5

5

8

 

 

 

3

5

8

 

 

 

3 5

5

 

 

 

 

 

 

 

 

 

 

С

помощью функции

Excel МОПРЕД

вычислим

= det A = 26,

1 = det A1 = - 60,

2 = det A2 = 94,

3 = det A3 = - 20.

По

формулам

(2.2)

находим

x1

= 1/ = - 2.3077,

 

x2 = 2/ = 3.6154,

x3

= 3/ = - 0.7692.

 

 

 

Метод обратной матрицы

Если det A 0 , то существует матрица A 1 , обратная к данной. Умножим исходную систему уравнений (2.1) на обратную матрицу слева. Получим

A 1 Ax A 1 f .

Известно, что произведение обратной матрицы на исходную дает единичную матрицу E , и, следовательно, получаем Ex A 1 f , или

x A 1 f

(2.3)

Решение СЛАУ свелось к умножению известной обратной матрицы на вектор правых частей. Таким образом, задача решения СЛАУ и задача нахождения обратной матрицы связаны между собой, поэтому часто решение СЛАУ называют задачей обращения матрицы. Проблемы использования этого метода те же, что и при использовании метода Крамера: нахождение обратной матрицы – трудоемкая операция. Однако для небольших m решение может быть получено с помощью функций Excel.

ПРИМЕР 2.3. С помощью метода обратной матрицы

8x1 4x2 2x3 10

решить систему 3x1 5x2 x3 5

3x1 2x2 10x3 4

26

Занесем на рабочий лист Excel матрицу коэффициентов

8

4

2

 

 

 

10

 

 

3

5

1

 

и вектор правых частей

 

5

 

A

 

f

 

.

 

3

2

10

 

 

 

 

4

 

 

 

 

 

 

 

Выделим на рабочем листе область размером 3 3 ячейки для обратной матрицы и вызовем функцию МОБР. В поле Массив занесем адреса ячеек исходной матрицы A, и, нажав комбинацию клавиш Ctrl+Shift+Enter, получим A-1:

0.195489

-0.16541

-0.02256

-0.1015

0.278195

-0.00752

-0.07895

0.105263

0.105263

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

функцию МУМНОЖ. В поля Массив 1 и Массив 2 занесем адреса ячеек, в которых находятся найденная обратная матрица и вектор правых частей, после чего, нажав комбинацию клавиш Ctrl+Shift+Enter, получим решение СЛАУ

1.037594

0.345865

0.157895

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

Метод Гаусса

Наиболее известным и популярным прямым методом решения СЛАУ является метод Гаусса. Этот метод заключается в последовательном исключении неизвестных. Метод состоит из двух этапов. На первом (прямом) этапе исходная система сводится к системе с треугольной матрицей, которая решается на втором (обратном) этапе. На прямом этапе используются следующие эквивалентные преобразования строк расширенной матрицы системы: перестановка строк, умножение строки на ненулевую константу, сложение строк.

27

Прямой этап. Пусть в системе уравнений

a110 x1

a120 x2

... a1m0 xm

f1 0

 

 

0

x1

0

x2

0

 

 

 

0

 

a21

a22

 

... a2m xm

f2

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a 0 x

a 0 x

2

... a 0

x

m

 

f 0

 

 

m1

1

m2

 

 

mm

 

 

m

 

первый

элемент

a

0 0 . Назовем его ведущим элементом

 

 

 

 

 

11

 

 

 

 

 

a 0 , и

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

 

 

 

 

 

 

 

 

 

 

 

 

11

исключим

x1

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

путем вычитания первой (преобразованной), умноженной на

коэффициент при x1

в соответствующей строке. Получим

x1

a121 x2

... a11m xm

f1 1

 

 

1

 

1

 

1

 

 

a22 x2 ... a2m xm

f2

.

 

 

...

 

 

 

 

 

 

 

 

 

 

1

 

1

 

1

 

 

am2 x2

... amm xm

fm

 

Если

a221 0 ,

то на

 

него можно разделить второе

уравнение, а затем исключить x2 из всех остальных уравнений.

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

 

x1 a121 x2

a131 x3

... a11m xm f1 1

 

 

x2

2

 

x3

2

 

 

2

 

 

a23

 

... a2m xm

f2

 

 

 

 

x3

... a23m xm

f2 3

(2.4)

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

x

 

 

f m

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

m

 

Обратный этап. Решаем систему (2.4) с верхней треугольной матрицей в обратном порядке:

28

xm

fmm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xm 1 fmm1 1 amm1,1m xm

 

 

.

(2.5)

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

x

f 1 a 1 x

2

a 1 x

3

... a 1 x

m

 

1

1

12

13

1m

 

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

добиваются

выполнения

условия:

 

aii0

 

 

 

aij0

 

,

 

 

 

 

j 1,..., i 1, i 1, i 2,..., m , т.е.

осуществляется

выбор

 

первого

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

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

оставшихся столбцов и строк выбирают второй главный элемент и т.д.

ПРИМЕР 2.4. Рассмотрим применение метода Гаусса с выбором главного элемента на примере следующей системы уравнений:

 

 

0,5x2

 

x1

x2

 

2x

 

 

1

x3

4

x3

5 .

x3

6

В первом уравнении коэффициент при x1 равен 0, во втором 1 и

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

29

2x1

 

x3

6

 

x1

x2

x3

5 .

 

 

 

0,5x2

x3

4

 

 

В третьем уравнении коэффициент при x1

равен 0. Исключим

x1 из второго уравнения:

 

 

2x1

x3

6

 

 

x2

0,5x3

8

 

 

 

 

0,5x2

x3

4

 

 

 

Рассмотрим

второе

и третье уравнения.

Исключим x2 из

третьего уравнения. Для этого умножим второе на -0.5 и сложим с третьим:

2x1

 

x3

6

 

x2

0,5x3

8 .

 

 

 

1,25x3

0

 

 

Далее находим значения xi обратным ходом: из третьего уравнения получаем x3 0 , из второго x2 8 , и из первого x1 3. Выполним проверку:

 

 

0,5 8

0

4

 

3

8

0

5 .

 

 

 

 

0

6

2 3

 

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

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

30