Варианты задания.
Исходная СЛАУ
,
где
– номер факультета;
– номер группы;
– номер студента по журналу.
Не выполняется условие диагонального преобладания для 1-го и 2-го уранений. Их перестановка позволяет выполнить это условие:

Для определения точности приближения воспользуемся нормой вектора
.
Замечание. При вычислении нормы вектора используется стандартная функция norm, которая определена для векторов
как
,
,
,
,
.
Таким образом, для вычисления
следует использовать обращение к функции norm при
, т.е.
.
Текст М-файла (обычная формулировка)
| eps=1e-4;kmax=100; K=input('введите номер факультета K='); G=input('введите номер группы G='); S=input('введите номер студента S='); A=[4 -1 1;1 5 1;S G 2*(S+G+K)] b=[S-G+4*K-2;S-G+K+10;2*((S-G)*(S+G+K)+G)+K*S] n=size(A); % метод простой итерации x=zeros(size(b)); for k=1:kmax h=b; for i=1:n for j=1:n if j~=i h(i)=h(i)-A(i,j)*x(j); end end h(i)=h(i)/A(i,i); end zk=norm(h-x,1); x=h; if zk<eps break end end fprintf('\n метод простой итерации') fprintf('\n количество итераций k=%d',k) fprintf('\n точность решения zk=%f8',zk) fprintf('\n решение СЛАУ x: \n'), disp(x') % метод Зейделя x=zeros(size(b)); for k=1:kmax h=x; for i=1:n s=b(i); for j=1:n if j~=i s=s-A(i,j)*x(j); end end x(i)=s/A(i,i); end zk=norm(h-x,1); if zk<eps break end end fprintf('\n метод Зейделя') fprintf('\n количество итераций k=%d',k) fprintf('\n точность решения zk=%f8',zk) fprintf('\n решение СЛАУ x: \n'), disp(x') |
Результаты счета для K=1, G=3, S=12
введите номер факультета K=1
введите номер группы G=3
введите номер студента S=12
A =
4 -1 1
1 5 1
12 3 32
b =
11
20
306
метод простой итерации
количество итераций k=11
точность решения zk=0.0000718
решение СЛАУ x:
1.0000 2.0000 9.0000
метод Зейделя
количество итераций k=8
точность решения zk=0.0000868
решение СЛАУ x:
1.0000 2.0000 9.0000
Пример ручного счета в матричной формулировке.
Рассмотрим решение СЛАУ из п. 2.3.4:

Общая схема пересчета
,
, 
где
,
– невязка
– окончание счета.
,
,



Для рассматриваемого примера эти компоненты итерационных схем имеют вид
4 1 1
A = 1 6 -1
1 2 5
9
b = 10
20
4 0 0
D = 0 6 0
0 0 5
0.2500 0 0
D-1 = 0 0.1667 0
0 0 0.2000
4 0 0
L = 1 6 0
1 2 5
0.2500 0 0
L-1 = -0.0417 0.1667 0
-0.0333 -0.0667 0.2000
| Метод простой итерации | Метод Зейделя |
| k = 0 v0 = -9 -10 -20 h0 = -2.2500 -1.6667 -4.0000 x1 = 2.2500 1.6667 4.0000 z0 = 4 k = 1 v1 = 5.6667 -1.7500 5.5833 h1 = 1.4167 -0.2917 1.1167 x2 = 0.8333 1.9583 2.8833 z1 = 1.4167 k = 2 v2 = -0.8250 -0.3000 -0.8333 h2 = -0.2062 -0.0500 -0.1667 x3 = 1.0396 2.0083 3.0500 z2 = 0.2062 | k = 0 v0 = -9 -10 -20 h0 = -2.2500 -1.2917 -3.0333 x1 = 2.2500 1.2917 3.0333 z0 = 3.0333 k = 1 v1 = 4.3250 -3.0333 0 h1 = 1.0812 -0.6858 0.0581 x2 = 1.1688 1.9774 2.9753 z1 = 1.0812 k = 2 v2 = 0.6277 0.0581 -0.0000 h2 = 0.1569 -0.0165 -0.0248 x3 = 1.0118 1.9939 3.0001 z2 = 0.1569 |






