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


Точное решение, метод наименьших квадратов и сопряженных градиентов - часть 2


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

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

  • [X.flag.relres,iter,resvec]= lsqr(A.B.tol.maxit.Ml.M2.X0) — также возвращает вектор вторых норм остатков 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 предоставляют следующие данные о сходимости решения:

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

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

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

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

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

    Если значение flag больше нуля, то возвращается не последнее решение, а то решение, которое имеет минимальное значение отношения вторых норм векторов norm(B-A*x)/norm(B).

    Пример:

    » А=[0 012; 1300; 0101; 1010];

    » В=[11; 7; 6; 4];

    Введенные в этом примере матрица А и вектор В будут использованы и в других примерах данного раздела. В примере процесс итераций сходится на пятом шаге с относительным остатком (отношением вторых норм векторов невязки и свободных членов) 1.9 10-

    13

    .

    Пример:

    » lsqr(A,B.1e-6.5)

    Isqr converged at iteration 5 to a solution

    with relative residual 

    1.9e-013 

    ans =

    1.0000 

    2.0000 

    3.0000

    4.0000

     




    Начало  Назад  Вперед