Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ZEIDEL_ITER

.m
Скачиваний:
1
Добавлен:
16.07.2021
Размер:
2.51 Кб
Скачать
n1=input('Введите номер группы: ');
n2=input('Bведите ваш номер в списке группы:');
n=n1+n2;
%rand('normal');
rand('seed',n);
A=rand(7);
b=rand(7,1);
Au=triu(A);
A1=tril(A);
Ad=diag(diag(A));
su=sum(sum(abs(Au)));
sl=sum(sum(abs(A1)));
Su=sum(abs(Au));
S1=sum(abs(A1));
sigma=5;
O=ones(7);
Ou=triu(O);
S6=diag(sigma*(Su./S1));
At=sigma*((A1+ Ou)./(Au'+Ou));
neo=rem(n2,2);
mode=rem(n2,3);
if (mode==0) A1=(sigma*su/sl)*A1; end
if (mode==1) A1=S6*A1; end
if (mode==2) A1=At.*A1; end
A=A1+Ad+Au;
ma=max(max(abs(A)));
if (ma>1000) A=0.08*A; end
A=0.5*A+2.75*diag(diag(A));
disp(' Матрица системы: ');
A
disp('Правая часть системы:');
b
P=size(A);
n=P(1);
for i=1:n
d=A(i,i);
bi(i)=b(i)/d;
for j=1:n
AI(i,j)=-A(i,j)/d;
AI(i,i)=0;
end
end
bi=bi';
EPS=0.0001;
X=zeros(n,1);
Y=X;
X(1)=bi(1) +AI(1,2)*X(2)+AI(1,3)*X(3)+AI(1,4)*X(4)+AI(1,5)*X(5)+AI(1,6)*X(6)+AI(1,7)*X(7);
X(2)=bi(2)+AI(2,1)*X(1) +AI(2,3)*X(3)+AI(2,4)*X(4)+AI(2,5)*X(5)+AI(2,6)*X(6)+AI(2,7)*X(7);
X(3)=bi(3)+AI(3,1)*X(1)+AI(3,2)*X(2) +AI(3,4)*X(4)+AI(3,5)*X(5)+AI(3,6)*X(6)+AI(3,7)*X(7);
X(4)=bi(4)+AI(4,1)*X(1)+AI(4,2)*X(2)+AI(4,3)*X(3) +AI(4,5)*X(5)+AI(4,6)*X(6)+AI(4,7)*X(7);
X(5)=bi(5)+AI(5,1)*X(1)+AI(5,2)*X(2)+AI(5,3)*X(3)+AI(5,4)*X(4) +AI(5,6)*X(6)+AI(5,7)*X(7);
X(6)=bi(6)+AI(6,1)*X(1)+AI(6,2)*X(2)+AI(6,3)*X(3)+AI(6,4)*X(4)+AI(6,5)*X(5) +AI(6,7)*X(7);
X(7)=bi(7)+AI(7,1)*X(1)+AI(7,2)*X(2)+AI(7,3)*X(3)+AI(7,4)*X(4)+AI(7,5)*X(5)+AI(7,6)*X(6);
P=Y-X;
I=1;
v=norm(P,inf);
while v>EPS
I=I+1;
Y=X;
X(1)=bi(1) +AI(1,2)*X(2)+AI(1,3)*X(3)+AI(1,4)*X(4)+AI(1,5)*X(5)+AI(1,6)*X(6)+AI(1,7)*X(7);
X(2)=bi(2)+AI(2,1)*X(1) +AI(2,3)*X(3)+AI(2,4)*X(4)+AI(2,5)*X(5)+AI(2,6)*X(6)+AI(2,7)*X(7);
X(3)=bi(3)+AI(3,1)*X(1)+AI(3,2)*X(2) +AI(3,4)*X(4)+AI(3,5)*X(5)+AI(3,6)*X(6)+AI(3,7)*X(7);
X(4)=bi(4)+AI(4,1)*X(1)+AI(4,2)*X(2)+AI(4,3)*X(3) +AI(4,5)*X(5)+AI(4,6)*X(6)+AI(4,7)*X(7);
X(5)=bi(5)+AI(5,1)*X(1)+AI(5,2)*X(2)+AI(5,3)*X(3)+AI(5,4)*X(4) +AI(5,6)*X(6)+AI(5,7)*X(7);
X(6)=bi(6)+AI(6,1)*X(1)+AI(6,2)*X(2)+AI(6,3)*X(3)+AI(6,4)*X(4)+AI(6,5)*X(5) +AI(6,7)*X(7);
X(7)=bi(7)+AI(7,1)*X(1)+AI(7,2)*X(2)+AI(7,3)*X(3)+AI(7,4)*X(4)+AI(7,5)*X(5)+AI(7,6)*X(6);
P=Y-X;
v=norm(P,inf);
end
disp('ОТВЕТ:');
X
disp('Число итераций:');
I
disp('ПРОВЕРКА, точное решение:');
A^(-1)*b
Соседние файлы в предмете Численные методы