Купить Matlab  |  Mathematica  |  Mathcad  |  Maple  |  Statistica  |  Другие пакеты Поиск по сайту
Internet-класс  |  Примеры  |  Методики  |  Форум  |  Download
https://hub.exponenta.ru/


Справочник по Matlab
  • Массивы, матрицы и операции с ними
  • Математические функции
  • Линейная алгебра
  • Анализ и обработка данных
  • Работа с разреженными матрицами
  • Графические команды и функции
  •  
    NNLS
    Метод наименьших квадратов с ограничениями

    Синтаксис:

    x = nnls(A, b) [x, w] = nnls(A, b)
    x = nnls(A, b, tol) [x, w] = nnls(A, b, tol)

    Описание:

    Функция x = nnls(A, b) находит неотрицательные решения xj >= 0, j = 1,..., n для системы уравнений вида Ax = b по методу наименьших квадратов. Для отбора таких решений по умолчанию используется значение порога tol = max(size(A)) * norm(A,1) * eps.

    Функция x = nnls(A, b, tol) позволяет пользователю самому установить значение порога tol.

    Функции [x, w] = nnls(A, b) и [x, w] = nnls(A, b, tol) позволяют в дополнение к решению x возвратить также вектор двойственных переменных w. Векторы x и w связаны между собой следующими соотношениями:

                  wi < 0, (i | xi = 0);
                  wi = 0, (i | xi > 0).

    Пример:

    Сравним решения задачи наименьших квадратов с ограничениями и без них. Пусть задана следующая система уравнений, описываемая парой {A, b}

    A = b =
    0.0372 0.2869
    0.6861 0.7071
    0.6233 0.6245
    0.6344 0.6170
    0.8587
    0.1781
    0.0747
    0.8405

    Вычислим решения без ограничений и с ограничениями на переменные, а также нормы невязок:

    [ A\b     nnls(A, b) ] [norm(A * (A \ b) - b) norm(A * nnls(A, b) - b)]
    -2.5627 0
    3.1108 0.6929
    0.6674 0.9118

    Как следует из решения, невязка для решения без ограничений меньше, но при этом один из компонентов вектора x отрицателен.

    Найдем вектор двойственных переменных w:

                  [x, w] = nnls(A, b)

    x = w =
    0
    0.6929
    -0.1506
    0.0000

    Сопутствующие функции: LSCOV.

    Ссылки:

    1. Lawson C. L., Hanson R. J. Solving Least Squares Problems. Prentice-Hall, 1974.

    В начало страницы К предыдущему разделуК следующему разделу

    | На первую страницу | Поиск | Купить Matlab

    Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter


    Copyright © 1993-2024. Компания Softline. Все права защищены.

    Дата последнего обновления информации на сайте: 04.03.17
    Сайт начал работу 01.09.00