Метод Зейделя

0.9672

2.2930

0.7787 1.0119 0.9636

0.2016 -0.3626 0

0.5131 0 -0.2656

0 -0.6493 -0.0336

 

5. Задать вектор-столбец свободных членов

 

>> b=[-0.800995;-5.7352459;-1.2411714]

b =

-0.8010

-5.7352

-1.2412

 

6. Вычислить значения коэффициентов a для каждого метрического пространства

 

>> alpha=Check(A)

alpha =

 

7. Найти решения системы линейных уравнений

 

>> LS_Iter(A,b,'Ro1',alpha(1),10^-6)

ans =

-4.8155

 

 

При решении системы линейных уравнений вычислительные формулы имеют вид:

(3.27)

где .

Из (3.27) видно, что в методе простой итерации для получения нового значения вектора решений на i+1-ом шаге используются значения переменных, полученные на предыдущем шаге.

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

(3.28)

Достаточные условия сходимости итерационного процесса (3.23)-(3.25) также являются достаточным условиями сходимости метода Зейделя.

Существует возможность автоматического преобразования исходной системы к виду, обеспечивающему сходимость итерационного процесса метода Зейделя. Для этого умножим левую и правую части системы (3.2) на транспонированную матрицу системы AT, получим равносильную систему

, (3.29)

где , .

Система (3.29) называется нормальной системой уравнений. Нормальные системы уравнений обладают рядом свойств, среди которых можно выделить следующие:

1) матрица C коэффициентов при неизвестных нормальной системы является симметрической (т.е. , );

2) все элементы, стоящие на главной диагонали матрицы C положительны (т.е. , ).

Последнее свойство дает возможность «автоматически» приводить нормальную систему (3.29) к виду, пригодному для итерационного процесса Зейделя:

(3.30)

где

, (3.31)

и

. (3.32)

Целесообразность приведения системы к нормальному виду и использования метода Зейделя вытекает из следующей теоремы:

Теорема 3.2.Итерационный процесс метода Зейделя для приведенной системы (3.30), эквивалентной нормальной системе (3.29), всегда сходится к единственному решению этой системы при любом выборе начального приближения [2].

Таким образом решение произвольной системы линейных уравнений вида (3.1) методом Зейделя реализуется в соответствие со следующим алгоритмом:

1. Ввод матрицы А коэффициентов исходной системы и вектор-столбца свободных членов.

2. Приведение системы к нормальной умножением обеих частей системы на транспонированную матрицу АT.

3. Приведение нормальной системы к виду, пригодному для итерационного процесса Зейделя (3.30), (3.31).

4. Задание требуемой точности решения.

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

Для реализации метода Зейделя в пакете MATLAB необходимо:

1. Создать файл Zeidel.m, содержащий описание функции, выполняющей последовательно: а) приведение системы к нормальному виду; б) приведение нормальной системы к виду, пригодному для итерационного процесса Зейделя; в) реализацию итерационного процесса Зейделя.

% листинг файла Zeidel.m

function [z1,z2]=Zeidel(A,b,eps)

N=size(A,1);

% приведение системы к нормальному виду

C=A'*A;

D=A'*b;

% приведение системы к виду пригодному для итерационного процесса

% Зейделя

for i=1:N

D1(i)=D(i)/C(i,i);

end;

D1=D1';% транспонирование матрицы

d1=D1;

for i=1:N

for j=1:N

if i==j

C1(i,j)=0;