Вычислительные методы линейной алгебры. Горбаченко В.И - 56 стр.

UptoLike

56
Построим зависимость относительной нормы невязки от номера итерации
>> semilogy(0:iter,resvec/norm(b))
>> grid
>> xlabel('Номер итерации')
>> ylabel('Относительная норма невязки')
Зависимость относительной нормы невязки от номера итерации для предобу-
словленного метода бисопряженных градиентов (рис. 2.5) говорит о хорошей
и устойчивой сходимости метода.
Рис. 2.5. Зависимость относительной нормы невязки от номера итерации
для предобусловленного метода бисопряженных градиентов
Попытка решить рассматриваемую СЛАУ устойчивым методом бисоп-
ряженных градиентов не увенчалась успехом:
>> [x,flag,relres,iter,resvec]=bicgstab(A,b);
>> flag
flag =
1
С использованием предобусловливателя система успешно решена:
>> [x,flag,relres,iter,resvec]=bicgstab(A,b,1e-6,20,L1,U1);
>> flag
flag =
0
Функция bicgstab вычисляет относительные нормы невязки в промежуточ-
ной точке между двумя итерациями. Поэтому
>> iter
iter =
0.5000
>> relres
relres =
8.3806e-007
Построим зависимость относительной нормы невязки от номера итерации
>>   semilogy(0:iter,resvec/norm(b))
>>   grid
>>   xlabel('Номер итерации')
>>   ylabel('Относительная норма невязки')

Зависимость относительной нормы невязки от номера итерации для предобу-
словленного метода бисопряженных градиентов (рис. 2.5) говорит о хорошей
и устойчивой сходимости метода.




          Рис. 2.5. Зависимость относительной нормы невязки от номера итерации
               для предобусловленного метода бисопряженных градиентов


     Попытка решить рассматриваемую СЛАУ устойчивым методом бисоп-
ряженных градиентов не увенчалась успехом:
>> [x,flag,relres,iter,resvec]=bicgstab(A,b);
>> flag
flag =
     1
С использованием предобусловливателя система успешно решена:
>> [x,flag,relres,iter,resvec]=bicgstab(A,b,1e-6,20,L1,U1);
>> flag
flag =
     0
Функция bicgstab вычисляет относительные нормы невязки в промежуточ-
ной точке между двумя итерациями. Поэтому
>> iter
iter =
    0.5000
>> relres
relres =
  8.3806e-007

                                                                                 56