АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

П 3.7 Метод простых итераций решения систем линейных алгебраических уравнений

Читайте также:
  1. A) к любой экономической системе
  2. A) прогрессивная система налогообложения.
  3. Aufgabe 2. Изучите образцы грамматического разбора простых предложений.Выберите из текста и разберите 3 простых предложения.
  4. C) Систематическими
  5. CASE-технология создания информационных систем
  6. ERP и CRM система OpenERP
  7. HMI/SCADA – создание графического интерфейса в SCADА-системе Trace Mode 6 (часть 1).
  8. I Понятие об информационных системах
  9. I СИСТЕМА, ИСТОЧНИКИ, ИСТОРИЧЕСКАЯ ТРАДИЦИЯ РИМСКОГО ПРАВА
  10. I этап Подготовка к развитию грудобрюшного типа дыхания по традиционной методике
  11. I. ГИМНАСТИКА, ЕЕ ЗАДАЧИ И МЕТОДИЧЕСКИЕ ОСОБЕННОСТИ
  12. I. Методические основы

 

Рассмотрим метод простых итераций [19]. Имеем систему линейных алгебраических уравнений

(1)

 

или в матричном виде . (2)

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

 

(3)

 

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

 

, (4)

где , , .

 

Такое приведение может быть выполнено различными способами.

Итерационную последовательность векторов

(5)

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

В качестве критерия сходимости метода простых итераций имеет место следующее утверждение [20]:

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

, (6)

 

так как , где - первая или вторая норма матрицы.

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

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

 

(7)

 

то в качестве матрицы В можно задать матрицу с элементами

(8)

 

В этом случае систему (1) в эквивалентном виде (3) можно записать следующим образом:

(9)

т.е.

,

Описанная модификация метода простой итерации, связанная с делением уравнений на диагональные элементы матрицы системы, называется методом Якоби [10].

Если , то для метода простых итераций известна оценка погрешности [18]:

, (10)

где - точное решение.

Выход из итерационного процесса осуществляется по результатам выполнения неравенства

 

, (11)

 

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

 

. (12)

 

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

 

Решение:

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

 

Преобразуем эту систему к эквивалентному виду (5). Для этого выразим из первого уравнения , из второго , из третьего , получаем

 

Имеем

, .

 

Заметим, что ,следовательно, условие сходимости выполнено.

Зададим вектор начального приближения .

Выполним расчеты по формуле (6)

 

На первой итерации имеем систему

.

 

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

.

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

На пятой итерации требуемая точность достигнута

.

Пример 2. Описать алгоритм метода простой итерации на языке программирования С++.

При описании алгоритма используются объекты и методы классов «SquareMatrix», «Vector».

 

void IterationMethods:: simpleIterationMethod(SquareMatrix A, Vector f, double tochnost){

 

/* Создание вспомогательной матрицы В, векторов g, x1 и вектора решений x */

 

SquareMatrix B = SquareMatrix(A.getRowCount());

Vector g = Vector(A.getColCount());

Vector x = Vector(A.getColCount());

Vector x1 = Vector(A.getColCount());

 

/* Получение канонического вида системы: X = BX + g, т.е. матрицы В и g */

for (int i = 0; i < A.getRowCount(); i++){

for (int j = 0; j < A.getColCount(); j++){

if (i == j){

B.setElement(i, j, 0);

}

if (i!= j){

B.setElement(i,j,-A.getElement(i,j)/A.getElement(i, i));

}

}

g.setElement(i, f.getElement(i)/A.getElement(i, i));

}

 

/* Построение итерационной последовательности и вычисление значения вектора на текущей итерации по формуле X(k+1) = BX(k) + g */

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

/*Вывод вектора решений*/

}

 

Данный алгоритм основан на матричном представлении метода простой итерации. Однако можно обойтись без построения матрицы В и вектора g, воспользовавшись непосредственно формулами (10) для описания итерационного процесса. Это позволит сэкономить вычислительные ресурсы.

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.008 сек.)