Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции По Моделированию Систем (Нечаев А. В.).doc
Скачиваний:
49
Добавлен:
07.10.2014
Размер:
307.2 Кб
Скачать

Решение систем линейных уравнений

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

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

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

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

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

РЕШЕНИЕ МАТРИЧНЫХ УРАВНЕНИЙ

Рассмотрим систему nлинейных алгебраических уравнений относительноnнеизвестныхх1, х2, …, хn:

 

(13)

Рисунок 8.

В соответствии с правилом умножения матриц рассмотренная система линейных уравнений может быть записана в матричном виде

Ах =b,

(14)

где:

.

 

(15)

Матрица А, столбцами которой являются коэффициенты при соответствующих неизвестных, а строками – коэффициенты при неизвестных в соответствующем уравнении, называется матрицей системы; матрица-столбец b, элементами которой являются правые части уравнений системы, называетсяматрицей правой частиили простоправой частью системы. Матрица-столбец х, элементы которой – искомые неизвестные, называетсярешением системы.

Если матрица А- неособенная, то есть det A не равен 0 то система (13), или эквивалентное ей матричное уравнение (14), имеет единственное решение.

В самом деле, при условии det A не равно 0 существует обратная матрицаА-1. Умножая обе части уравнения (14) на матрицуА-1получим:

(16)

Формула (16) дает решение уравнения (14) и оно единственно.

Системы линейных уравнений удобно решать с помощью функции lsolve.

lsolve(А, b)

Возвращается вектор решения x такой, чтоАх =b.

Аргументы:

А- квадратная, не сингулярная матрица.

b- вектор, имеющий столько же рядов, сколько рядов в матрицеА.

На Рисунке 8 показано решение системы трех линейных уравнений относительно трех неизвестных.

МЕТОД ГАУССА

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

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

.

(17)

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

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

.

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

В Mathcad прямой и обратный ходы метода Гаусса выполняет функция rref(A).

На Рисунке 9 показано решение системы линейных уравнений методом Гаусса, в котором используются следующие функции:

rref(A)

Возвращается ступенчатая форма матрицы А.

augment(A, В)

Возвращается массив, сформированный расположением A и Вбок о бок. МассивыA и Вдолжны иметь одинаковое число строк.

submatrix(A, ir, jr, ic, jc)

Возвращается субматрица, состоящая из всех элементов с irпо jr и столбцах с icпо jc.Удостоверьтесь, что irjr иicjc,иначе порядок строк и (или) столбцов будет обращен.

Рисунок 9.

МЕТОД ИТЕРАЦИИ

Пусть дана линейная система (13). Введя в рассмотрение матрицы (15), систему (13) коротко можно записать в виде матричного уравнения (14). Предполагая, что диагональные коэффициенты aijне равны 0 (i = 1, 2, …, n), разрешим первое уравнение системы (13) относительно х1, второе - относительно х2и т. д. Тогда получим эквивалентную систему

 

(18)

где

приiне равноj

и αij = 0 при i = j (i, j = 1, 2, …, n).

Введя матрицы

и,

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

x=+x,

а любое (k+ 1) приближение вычисляется по формуле

x(k+1)=+x (k).

(19)

Напишем формулы приближений в развернутом виде:

 

(19' )

Приведем достаточное условие сходимости метода итераций.

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

(20)

Следствие 1. Процесс итерации для системы (18) сходится, если:

1) < 1 (m-норма или неопределенная норма)

или

2) < 1 (l-норма или нормаL1)

или

3) < 1 (k-норма или Евклидова норма).

Следствие 2. Для системы (13) процесс итерации сходится, если выполнены неравенства:

или

,

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

Пример 6. Пусть

.

Имеем:

max(1+ 2 + 3, 4 + 5 + 6, 7 + 8 + 9) = max (6, 15, 24) = 24;

max(1+ 4 + 7, 2 + 5 + 8, 3 + 6 + 9) = max (12, 15, 18) = 18;

.

В Mathcad существуют специальные функции для вычисления норм матриц:

normi(A)

Возвращает неопределенную норму матрицы А.

norm1(A)

Возвращает L1, норму матрицыА.

normе(A)

Возвращает Евклидову норму матрицы А.

качестве условия окончанияитерационного процесса можно взять условие

 - заданная погрешность приближенного решения х x(k +1).

Пример 7. Решить систему

 

(21)

методом итераций.

Диагональные коэффициенты 100; 200; 100 системы (21) значительно преобладают над остальными коэффициентами при неизвестных, т.е., выполняется следствие 2.

Приведем эту систему к нормальному виду (18)

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

.

Рисунок 10.

На Рисунке 10 приведен фрагмент рабочего документа Mathcad, содержащий дальнейшее решение этой системы.

МЕТОД ЗЕЙДЕЛЯ

Метод Зейделяпредставляет собой некоторую модификацию метода итераций. Основная его идея заключается в том, что при вычислении (k+ 1)-го приближения неизвестной xiучитываются уже вычисленные ранее (k + 1)-е приближения неизвестных x1, x2, …, xi- 1.

Пусть получена эквивалентная система (18). Выберем произвольно начальные приближения корней . Далее, предполагая, чтоk-ые приближениякорней известны, согласно Зейделю будем строить (k+ 1)-е приближения корней по формулам:

 

(22)

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

Пример 8. Методом Зейделя решить систему уравнений

Приведем эту систему к виду, удобному для итерации:

В качестве нулевых приближений корней возьмем:

Применяя процесс Зейделя, последовательно получим:

Результаты вычислений с точностью до четырех знаков приведены в Таблице 2.

Таблица 2