Иллюстрированный самоучитель по Matlab

         

также возвращает относительную вторую норму


[X.flag.relres] = bicg(A,X,tol .maxit.Ml,M2.X0) — также возвращает относительную вторую норму вектора остатков relres=nQnr)(B-A*X)/norm(B). Если флаг flag равен 0, то rel res<tol;

[X, flag, rel res, iter] = bicgCA.B.tol,maxit,Ml,M2.XO) — также возвращает номер итерации, на которой был вычислен X. Значение iter всегда удовлетворяет условию 0<iter<maxit;

[X.flag.relres.iter.resvec] = bicgCA.B.tol,maxit,Ml,M2.XO) — также возвращает вектор вторых норм остатков resvec для каждой итерации начиная с res-vec(l)=norm(B-A*X0). Если флаг flag равен 0, то resvec имеет длину iter+1 и resvec(end)<tol*norm(B). Возможны значения flag, равные 0, 1, 2, 3 и 4. Эти значения предоставляют следующие данные о сходимости решения:



 flag=0 - решение сходится при заданной точности tol и числе итераций не более заданного maxit;

flag=l - число итераций равно заданному maxit, но сходимость не достигнута;

f l ag=2 - матрица предусловий М плохо обусловлена;

fl ag=3 - процедура решения остановлена, поскольку две последовательные оценки решения оказались одинаковыми;

fl ag=4 - одна из величин в процессе решения вышла за пределы допустимых величин чисел (разрядной сетки компьютера).

Пример:

» bicg(A.B)

BICG converged at iteration 4 

to a solution with relative residual 

2.3e-015

ans= 

1.0000 

2.0000 

3.0000 

4.0000

[X.flag] = bicg(A,X.tol ,maxit.Ml,M2,X0) — возвращает решение Х и флаг flag, описывающий сходимость метода.


Содержание  Назад  Вперед