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


Функции для решения систем линейных уравнений с ограничениями - часть 2


  • [X.W.Wl.exitflag,output,lambda] = lsqnonneg(A.В,ХО,options) — обычно используется, если при предыдущей попытке решения системы exitflag=l или если необходимо изменить заданный по умолчанию порог отбора по X - tol X. равный 10*max(size(A))*norm(A, l)*eps (произведению первой нормы матрицы, большего из измерений матрицы, машинной точности и 10). Также используется такая форма записи, как X=lsqnonneg(A,B,XO,options). Параметры options должны быть предварительно заданы при помощи функции optimset. Функция Isqnonneg использует только поля 'display' и 'tolX' структуры options. Поэтому наиболее часто используемая вместе с Isqnonneg форма записи функции — options= optimset С tol X'.tol value), где tolvalue — новое значение порога отбора по X.

  • Применение ограничений позволяет избежать получения отрицательных корней, хотя и ведет к появлению несколько больших погрешностей решения, чем в случае решений без ограничений. Пример:

    » С=[4 3:12 5:3 12];b=[1.45,41];D=lsqnonneg(C.b') 

    D =

    2.2242

    2.6954

     




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