Пример выполнения работы на ЭВМ в матричной формулировке.
Текст М-файла (Maтричная формулировка)
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)); D=diag(diag(A)); for k=1:kmax h=D\(A*x-b); x=x-h; zk=norm(h,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') % метод Зейделя L=zeros(n); for i=1:n L(i:n,i)=A(i:n,i); end x=zeros(size(b)); for k=1:kmax h=L\(A*x-b); x=x-h; zk=norm(h,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 =
метод простой итерации
количество итераций k=11
точность решения zk=0.0000718
решение СЛАУ x:
1.0000 2.0000 9.0000
метод Зейделя
количество итераций k=8
точность решения zk=0.0000868
решение СЛАУ x:
1.0000 2.0000 9.0000
Дата добавления: 2016-02-27; просмотров: 421;