ЧМ (ЭКТ-3) / Лабы / Всякие сделанные варианты / other / LAB3
.DOC
Лабораторная
работа №3
по
численным методам.
Вариант 02.
|
Выполнила: Никитушкина Евгения ЭКТ-35 |
Проверил: Мустафин Н.Н. |
|
|
|
МИЭТ
2001
Задача лабораторной работы состоит в том, чтобы найти корни системы

методом прогонки, методом Зейделя и QR-разложеннием с помощью программы MatLab.
1. Метод прогонки.
Прямой ход.
![]()
![]()
![]()
Обратный ход.
![]()
Проверка.
![]()
Выполнение работы.
Введем коэффициенты:
c1=24
b1=5
a2=-4
c2=22
b2=3
r1=2
r2=-3
a3=-5
c3=22
b3=4
r3=-5
a4=3
c4=15
b4=4
r4=-8
a5=4
c5=23
r5=10
A=[a2,a3,a4,a5]
B=[b2,b3,b4,0]
C=[c2,c3,c4,c5]
R=[r2,r3,r4,r5]
al=[0,0,0,0,0]
be=[0,0,0,0,0]
Организуем цикл для промежуточных коэффициентов:
i=2
while i<=5
k=i-1
al(1,i)=-(B(1,k))/(C(1,k)+(A(1,k))*al(1,k))
be(1,i)=-((A(1,k))*be(1,k)-R(1,k))/(C(1,k)+(A(1,k))*al(1,k))
i=i+1
end
Найдем аргументы:
X(5,1)=-((A(1,4))*be(1,4)-R(1,4))/(C(1,4)+(A(1,4))*al(1,4))
X(4,1)=(al(1,5))*X(5,1)+be(1,5)
X(3,1)=(al(1,4))*X(4,1)+be(1,4)
X(2,1)=(al(1,3))*X(3,1)+be(1,3)
X(1,1)=(al(1,2))*X(2,1)+be(1,2)
Сделаем проверку:
v1=al(1,2)
v2=-B(1,1)/(C(1,1)+(A(1,1))*al(1,1))
v3=-B(1,1)/C(1,1)
v4=(A(1,2))*(X(1,1))+(C(1,2))*(X(2,1))+(B(1,2))*(X(3,1))
v5=R(1,2)
В результате выполнения данного m-файла получим:
![]()
![]()

v1=-0.1364
v2=-0.1364
v3=-0.1364
v4=-5
v5=-5
Таким образом можно сделать вывод, что найденные значения Х истинны.
2.Метод Зейделя.
Он состоит в том, что итерации производятся по формуле
![]()
![]()

Осуществим программу:
A=[24 5 0 0 0;-4 22 3 0 0;0 -5 22 4 0;0 0 3 15 4;0 0 0 4 23]
b=[2;-3;-5;-8;10]
d1=b(1)/A(1,1);
d2=b(2)/A(2,2);
d3=b(3)/A(3,3);
d4=b(4)/A(4,4);
d5=b(5)/A(5,5);
d=[d1;d2;d3;d4;d5]
c11=0;
c22=0;
c33=0;
c44=0;
c55=0;
c12=-A(1,2)/A(1,1);
c13=-A(1,3)/A(1,1);
c14=-A(1,4)/A(1,1);
c15=-A(1,5)/A(1,1);
c21=-A(2,1)/A(2,2);
c23=-A(2,3)/A(2,2);
c24=-A(2,4)/A(2,2);
c25=-A(2,5)/A(2,2);
c31=-A(3,1)/A(3,3);
c32=-A(3,2)/A(3,3);
c34=-A(3,4)/A(3,3);
c35=-A(3,5)/A(3,3);
c41=-A(4,1)/A(4,4);
c42=-A(4,2)/A(4,4);
c43=-A(4,3)/A(4,4);
c45=-A(4,5)/A(4,4);
c51=-A(5,1)/A(5,5);
c52=-A(5,2)/A(5,5);
c53=-A(5,3)/A(5,5);
c54=-A(5,4)/A(5,5);
C=[c11 c12 c13 c14 c15;c21 c22 c23 c24 c25;c31 c32 c33 c34 c35;c41 c42 c43 c44 c45;c51 c52 c53 c54 c55]
n=5
X=[1 1 1 1 1];
i=1;
S1=0;
S2=C(i,2)*X(2)+C(i,3)*X(3)+C(i,4)*X(4)+C(i,5)*X(5);
X(i)=S1+S2+d(i);
i=2;
S1=C(i,1)*X(1);
S2=C(i,3)*X(3)+C(i,4)*X(4)+C(i,5)*X(5);
X(i)=S1+S2+d(i);
i=3;
S1=C(i,1)*X(1)+C(i,2)*X(2);
S2=C(i,4)*X(4)+C(i,5)*X(5);
X(i)=S1+S2+d(i);
i=4;
S1=C(i,1)*X(1)+C(i,2)*X(2)+C(i,3)*X(3);
S2=C(i,5)*X(5);
X(i)=S1+S2+d(i);
i=5;
S1=C(i,1)*X(1)+C(i,2)*X(2)+C(i,3)*X(3)+C(i,4)*X(4);
S2=0;
X
Последнюю часть программы, выделенную курсивом, повторим несколько раз (в данном случае понадобилось 7), пока не добьемся совпадения двух последующих результатов. В итоге имеем:

значения, полученные двумя данными методами совпали.
3. QR-разложение:
|
Матрица A |
|
|
|
|
||
|
22.2411 |
0.2243 |
2.5269 |
0.8546 |
0.1429 |
0.2992 |
1.6444 |
|
0.2243 |
15.0686 |
0.3210 |
0.1392 |
0.7169 |
0.7332 |
1.2501 |
|
2.5269 |
0.3210 |
11.4499 |
4.4280 |
4.5615 |
0.2252 |
1.7534 |
|
0.8546 |
0.1392 |
4.4280 |
12.5909 |
3.7304 |
1.3099 |
8.9095 |
|
0.1429 |
0.7169 |
4.5615 |
3.7304 |
9.4989 |
0.5341 |
13.4554 |
|
0.2992 |
0.7332 |
0.2252 |
1.3099 |
0.5341 |
18.0873 |
1.1696 |
|
1.6444 |
1.2501 |
1.7534 |
8.9095 |
13.4554 |
1.1696 |
19.4314 |
|
~20x [Q,R]=qr(A); A=R*Q |
|
|
|
|
||
|
35.1648 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
|
0.0000 |
22.2222 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
|
0.0000 |
0.0000 |
18.0552 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
|
0.0000 |
0.0000 |
0.0000 |
14.9125 |
0.0001 |
0.0000 |
0.0000 |
|
0.0000 |
0.0000 |
0.0000 |
0.0001 |
11.5152 |
0.0000 |
0.0000 |
|
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
7.8195 |
0.0000 |
|
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
0.0000 |
-1.3214 |
|
eig(B) |
14.9125 |
|
|
18.0552 |
|
|
11.5152 |
|
|
7.8195 |
|
|
22.2222 |
|
|
-1.3214 |
|
|
35.1648 |
