ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 28.05.2024
Просмотров: 27
Скачиваний: 1
3.2 Метод Гауса-Зейделя
На відміну від попереднього, в методі Гауса-Зейделя для побудови ітераційного процесу використовуються нові значення координат вектора наближень у міру їх надходження.
Приклад 3. Розглянемо СЛАР з прикладу 1. Як і у попередньому випадку, нам потрібно створити два m-файли: файл-програму iter3.m для задавання вхідних аргументів і функцію gseid.m, що реалізує ітераційний алгоритм Гауса-Зейделя.
Файл iter3.m
%Розв’язування СЛАР методом Гауса-Зейделя
A=[4 -1 1
4 -8 1
-2 1 5];
B=[7;-21;15];
P=[1;2;2];
delta=0.0001;
max=20;
[X]=gseid(A,B,P,delta,max)
Файл-функція gseid.m
function X=gseid(A,B,P,delta,max)
N=length(B);
for k=1:max
for j=1:N
if j==1
X(1)=(B(1)-A(1,2:N)*P(2:N))/A(1,1);
elseif j==N
X(N)=(B(N)-A(N,1:N-1)*(X(1:N-1))')/A(N,N);
else
%X містить k-е наближення і Р(к-1)
X(j)=(B(j)-A(j,1:j-1)*X(1:j-1)-A(j,j+1:N)*P(j+1:N))/A(j,j);
end
end
err=abs(norm(X'-P));
relerr=err/(norm(X)+eps);
P=X';
if (err<delta)|(relerr<delta)
break
end
end
X=X';
Запустимо iter3.m на виконання і отримаємо розв’язок.
>> iter3
X =
2.0000
4.0000
3.0000
Приклад 4
Застосування методу Гауса-Зейделя до СЛАР з прикладу 2. Напишемо нову файл-програму для початкових аргументів
Файл iter4.m
%Розв’язок СЛАР методом простої ітерації
=[1.0000 0.1000 0 -0.1000 0
0 -0.1000 0 0.0300 -1.0000
-0.9900 -0.2000 0.0100 0 -0.1000
0 0.1000 -2.0000 0.2000 0
-0.1000 0 0.2000 -2.0000 0.3000];
B=[-10;4; 20;4;-4];
delta=0.0001;
max=20;
P=[-10; 4; 20; 4; -4];
[X]=gseid(A,B,P,delta,max)
Завдання і порядок виконання самостійної роботи
-
Для конкретного варіанту завдання проаналізувати СЛАР.
-
Перевірити умову збіжності ітераційного методу.
-
Розв’язати СЛАР ітераційними методами з точністю до eps=0.0001.
Індивідуальні завдання
Стр. 56, № варіанту
№ варіанту завдання обирається за номером прізвища у журналі групи.