ВУЗ:
Составители:
Рубрика:
50
Функция для решения СЛАУ произвольной размерности методом Гаусса-
Зейделя в среде MATLAB может иметь следующий вид:
function X=zeydel(A,B,X0,delta,Imax)
% Итерация Гаусса-Зейделя.
% A - невырожденная матрица коэффициентов
% размера n x n;
% B - вектор-столбец свободных членов;
% X0 - вектор-столбец начального приближения;
% delta - допустимая относительная погрешность;
% Imax - максимальное число итераций;
% X - приближенное решение линейной системы AX = B.
n=length(B);
err=5*delta;
X=X0;
ct=0;
while err>delta
Xp=X;
for i=1:n
X(i)=(B(i)-A(i,[1:i-1,i+1:n])*…
X([1:i-1,i+1:n]))/A(i,i);
end
if max(abs(X0))==0
error('Следует изменить начальное приближение')
break
end
err=max(abs(X-Xp))/max(abs(X0));
ct=ct+1;
Xe(ct,:)=[X' err];
if ct>Imax
error('Требуемое число итераций слишком велико')
break
end
end
Xe
ct
Запуск итерационного процесса Гаусса-Зейделя с допустимой относитель-
ной погрешностью результата 10
-5
и максимальным числом итераций не более
100 осуществляется аналогично итерации Якоби. Создаваемый файл функции
сохраняется под именем zeydel.m в рабочем каталоге /WORK , находящемся в
корневом каталоге системы MATLAB, после чего в командной строке
последовательно набираются команды, приведенные
ниже.
Страницы
- « первая
- ‹ предыдущая
- …
- 48
- 49
- 50
- 51
- 52
- …
- следующая ›
- последняя »