lsq линейное решение наименьших квадратов A*X=B с минимальной norm(X)

## Синтаксис

                X = lsq(A, B)
                X = lsq(A, B, tol)

## Аргументы

A

  вещественная или комплексная матрица (m x n)

B

  вещественная или комплексная матрица (m x p)

tol

  положительный скаляр, используемый для определения действительного ранга `A` (определяемого как порядок наибольшей главной треугольной подматрицы `R11` в QR-разложении с выбором ведущего элемента `A`, чьё оцененое число обусловленности <= 1/tol. Значение `tol` по умолчанию устанавливается равным `sqrt(%eps)`.

X

  вещественная или комплексная матрица (n x p)

## Описание

`X=lsq(A,B)` вычисляет решение наименьших квадратов с минимальной нормой уравнения `A*X=B`, при этом `X = A \ B` вычисляет решение наименьших квадратов с ненулевыми компонентами не более `rank(A)` на столбец.

## Сcылки

Функция `lsq` основана на функциях LApack DGELSY для вещественных матриц и ZGELSY для комплексных матриц.

## Примеры

    //Build the data
    x=(1:10)';

    y1=3*x+4.5+3*rand(x,'normal');
    y2=1.8*x+0.5+2*rand(x,'normal');
    plot2d(x,[y1,y2],[-2,-3])
    //Find the linear regression
    A=[x,ones(x)];B=[y1,y2];
    X=lsq(A,B);

    y1e=X(1,1)*x+X(2,1);
    y2e=X(1,2)*x+X(2,2);
    plot2d(x,[y1e,y2e],[2,3])

    // Разница между lsq(A,b) и A\b
    A=rand(4,2)*rand(2,3);//ранг матрицы 2
    b=rand(4,1);
    X1=lsq(A,b)
    X2=A\b
    [A*X1-b, A*X2-b] //остатки от деления одинаковы

## Смотрите также

- обратная косая черта
- inv
- pinv
- rank