Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
САВ ДЗ№1.doc
Скачиваний:
2
Добавлен:
01.05.2019
Размер:
254.98 Кб
Скачать

3. Метод вращений решения.

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

В результате (n-1) этапов прямого хода исходная система будет приведена к треугольному виду

Нахождение отсюда неизвестных не отличается от обратного хода метода Гаусса.

Практическая часть (листинг программы MatLab)

function Rotation

A=[-83 27 -13 -11; 5 -68 13 24; 9 54 127 36;13 27 34 156];

A

X=zeros(4,1);

iter=0;

C1=A(1,1)/sqrt((A(1,1))^2+(A(2,1))^2);

S1=A(2,1)/sqrt((A(1,1))^2+(A(2,1))^2);

T=A;

for j=1:5

iter=iter+1;

A(1,j)=C1* T (1,j)+S1* T (2,j);

A(2,j)=-S1* T (1,j)+C1* T (2,j);

end

C2=A(1,1)/sqrt((A(1,1))^2+(A(3,1))^2);

S2=A(3,1)/sqrt((A(1,1))^2+(A(3,1))^2);

T=A;

for j=1:5

iter=iter+1;

A(1,j)=C2* T (1,j)+S2* T (3,j);

A(3,j)=-S2* T (1,j)+C2* T (3,j);

end

C3=A(1,1)/sqrt((A(1,1))^2+(A(4,1))^2);

S3=A(4,1)/sqrt((A(1,1))^2+(A(4,1))^2);

T=A;

for j=1:5

iter=iter+1;

A(1,j)=C3* T (1,j)+S3* T (4,j);

A(4,j)=-S3* T (1,j)+C3* T (4,j);

end

C4=A(2,2)/sqrt((A(2,2))^2+(A(3,2))^2);

S4=A(3,2)/sqrt((A(2,2))^2+(A(3,2))^2);

T=A;

for j=2:5

iter=iter+1;

A(2,j)=C4* T (2,j)+S4* T (3,j);

A(3,j)=-S4* T (2,j)+C4* T (3,j);

end

C5=A(2,2)/sqrt((A(2,2))^2+(A(4,2))^2);

S5=A(4,2)/sqrt((A(2,2))^2+(A(4,2))^2);

T=A;

for j=2:5

iter=iter+1;

A(2,j)=C5* T (2,j)+S5* T (4,j);

A(4,j)=-S5* T (2,j)+C5* T (4,j);

end

C6=A(3,3)/sqrt((A(3,3))^2+(A(4,3))^2);

S6=A(4,3)/sqrt((A(3,3))^2+(A(4,3))^2);

T=A;

for j=3:5

iter=iter+1;

A(3,j)=C6* T (3,j)+S6* T (4,j);

A(4,j)=-S6* T (3,j)+C6* T (4,j);

end

X(4)=A(4,5)/A(4,4);

X(3)=(A(3,5)-A(3,4)*X(4))/A(3,3);

X(2)=(A(2,5)-A(2,4)*X(4)-A(2,3)*X(3))/A(2,2);

X(1)=(A(1,5)-A(1,4)*X(4)-A(1,3)*X(3)-A(1,2)*X(2))/A(1,1);

X

Результат работы алгоритма:

A =

-83 27 -13 -11

5 -68 13 24

9 54 127 36

13 27 34 156

X =

1.0000

2.0000

3.0000

4.0000

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

Дана система стандартного вида:

Ax=b, (1)

где - -матрица

, - n-мерные векторы-столбцы, тем или иным способом может быть преобразована к эквивалентной ей системе вида:

(2),

где x – тот же вектор неизвестных,

B и c – некоторые новые матрица и вектор соответственно.

Систему (2) - как задача о неподвижной точке линейного отображения B в пространство и по аналогии со скалярным случаем определить последовательность приближений к неподвижной точке рекуррентным равенством (3). Итерационный процесс (3), начинающийся с некоторого вектора - методом простых итераций (МПИ).

Лемма 1: условие, что все собственные числа матрицы B по модулю меньше 1, является необходимым и достаточным для того, чтобы:

1. при

2. матрица имела обратную и .

Лемма 2: если , то матрица имеет обратную матрицу и при этом справедливо неравенство

Теорема 1: необходимым и достаточным условием сходимости метода простых итераций (3) при любом начальном векторе к решению системы (2) является требование, чтобы все собственные числа матрицы B были по модулю меньше 1.

Теорема 2: пусть Тогда при любом начальном векторе МПИ (3) сходится к единственному решению задачи (2) и при всех справедливы оценки погрешности:

1. апостериорная:

2. априорная:

Критерий сходимости МПИ: Для того, чтобы МПИ был сходящимся при любом начальном приближении необходимо и достаточно, чтобы все собственные числа матрицы были по модулю меньше 1.

Условие останова

Практическая часть (листинг программы MatLab)

function m_s

b=[142; 26; 23; 49];

A=[-83 27 -13 -11; 5 -68 13 24; 9 54 127 36;13 27 34 156];

condA=cond(A);

condA

e=[1 1 1 1];

E=diag(e);

B=A+E;

c=b;

q=norm(B,1);

q

X=[0;0;0;0];

X_k1=[0;0;0;0];

X_k=[0;0;0;0];

X_k=B*X_k+c;

n=max(abs(X_k-X_k1));

i=1;

eps=0.001

while n > (((1-q)/q)*eps)

X_k1=X_k;

X_k=B*X_k+c;

n=max(abs(X_k-X_k1));

i=i+1;

end

X=-X_k

disp('число итераций'), i

Результат работы алгоритма:

condA =

3.2877

q =

228

Число итераций

i = 138

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