ВУЗ:
Составители:
Рубрика:
61
%e за %u итераций\n', relres, iter)
disp('Решение методом Якоби');
x
figure;
% График изменения относительной нормы невязки
semilogy (0:iter, resvec / norm (b,inf))
grid on;
title('Метод Якоби')% заголовок окна
xlabel ('Номер итерации');
ylabel ('Относительная норма невязки');
end
disp('Нажмите Enter')
pause
case 3 % Метод Зейделя
H=H+1;
fprintf(1,'\nЭксперимент %u\n', H)
disp('Метод Зейделя')
tol = input('Введите требуемую точность решения: ');
maxit = input('Введите максимальное число итераций: ');
[x,flag,relres,iter,resvec] = seidel(A,b,tol,maxit,x0);
if flag == 0 % Решение не достигнуто
disp ('Решение не достигнуто')
fprintf(1, '\nДостигнута относительная норма
невязки …
%e за %u итераций\n', relres, iter)
end
if flag == 1 % Решение достигнуто
disp ('Решение достигнуто')
fprintf(1, '\nДостигнута относительная норма невязки …
%e за %u итераций\n', relres, iter)
disp('Решение методом Зейделя');
x
figure;
% График изменения относительной нормы невязки
semilogy(0:iter, resvec / norm (b,inf))
grid on;
title('Метод Зейделя')% заголовок окна
xlabel ('Номер итерации');
ylabel ('Относительная норма невязки');
end
disp('Нажмите Enter')
pause
case 4 % Метод последовательной верхней релаксации (SOR)
H=H+1;
fprintf(1,'\nЭксперимент %u\n', H)
disp('Метод последовательной верхней релаксации (SOR)')
tol = input('Введите
требуемую точность решения: ');
maxit = input('Введите максимальное число итераций: ');
omega=input('Введите коэффициент релаксации=');
[x,flag,relres,iter,resvec] = sor(A,b,tol,maxit,x0,omega);
if flag == 0 % Решение не достигнуто
disp ('Решение не достигнуто')
fprintf(1, '\nДостигнута относительная норма невязки …
%e за %u итераций\n', relres, iter)
end
if flag == 1 % Решение достигнуто
disp ('Решение достигнуто')
fprintf(1, '\nДостигнута относительная норма невязки …
%e за %u итераций\n', relres, iter)
disp('Решение SOR-методом');
x
figure;
% График изменения относительной нормы невязки
semilogy (0:iter, resvec / norm (b,inf))
grid on;
%e за %u итераций\n', relres, iter) disp('Решение методом Якоби'); x figure; % График изменения относительной нормы невязки semilogy (0:iter, resvec / norm (b,inf)) grid on; title('Метод Якоби')% заголовок окна xlabel ('Номер итерации'); ylabel ('Относительная норма невязки'); end disp('Нажмите Enter') pause case 3 % Метод Зейделя H=H+1; fprintf(1,'\nЭксперимент %u\n', H) disp('Метод Зейделя') tol = input('Введите требуемую точность решения: '); maxit = input('Введите максимальное число итераций: '); [x,flag,relres,iter,resvec] = seidel(A,b,tol,maxit,x0); if flag == 0 % Решение не достигнуто disp ('Решение не достигнуто') fprintf(1, '\nДостигнута относительная норма невязки … %e за %u итераций\n', relres, iter) end if flag == 1 % Решение достигнуто disp ('Решение достигнуто') fprintf(1, '\nДостигнута относительная норма невязки … %e за %u итераций\n', relres, iter) disp('Решение методом Зейделя'); x figure; % График изменения относительной нормы невязки semilogy(0:iter, resvec / norm (b,inf)) grid on; title('Метод Зейделя')% заголовок окна xlabel ('Номер итерации'); ylabel ('Относительная норма невязки'); end disp('Нажмите Enter') pause case 4 % Метод последовательной верхней релаксации (SOR) H=H+1; fprintf(1,'\nЭксперимент %u\n', H) disp('Метод последовательной верхней релаксации (SOR)') tol = input('Введите требуемую точность решения: '); maxit = input('Введите максимальное число итераций: '); omega=input('Введите коэффициент релаксации='); [x,flag,relres,iter,resvec] = sor(A,b,tol,maxit,x0,omega); if flag == 0 % Решение не достигнуто disp ('Решение не достигнуто') fprintf(1, '\nДостигнута относительная норма невязки … %e за %u итераций\n', relres, iter) end if flag == 1 % Решение достигнуто disp ('Решение достигнуто') fprintf(1, '\nДостигнута относительная норма невязки … %e за %u итераций\n', relres, iter) disp('Решение SOR-методом'); x figure; % График изменения относительной нормы невязки semilogy (0:iter, resvec / norm (b,inf)) grid on; 61
Страницы
- « первая
- ‹ предыдущая
- …
- 59
- 60
- 61
- 62
- 63
- …
- следующая ›
- последняя »