lsq Solução de A*X=B de mínimos quadrados lineares, com norm(X) mínima

## Seqüência de Chamamento

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

## Parâmetros

A

  matriz de reais ou de complexos (m x n)

B

  matriz de reais ou de complexos (m x p)

tol

  escalar positivo, usado para determinar o posto efetivo de A (definido como sendo a ordem da maior submatriz triangular R11 regente na fatoração QR com pivoteamento de A, cujo número de condicionamento estimado <= 1/tol. O valor padrão de tol é `sqrt(%eps)`.

X

  matriz de reais ou complexos (n x p)

## Descrição

`X=lsq(A,B)` computa a solução de mínimo quadrado de menor norma da equação `A*X=B`, enquanto `X=A \ B` computa uma solução de mínimo quadrado com no máximo `posto(A)` componentes não-nulos por coluna.

## Referências

`lsq` é baseado nas funções Lapack DGELSY para matrizes de reais e ZGELSY para matrizes de complexos.

## Exemplos

    //Construindo os dados
    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])
    //Achando a regressão linear
    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])

    //Diferença entre lsq(A,b) e A\b
    A=rand(4,2)*rand(2,3);//uma matriz de posto 2
    b=rand(4,1);
    X1=lsq(A,b)
    X2=A\b
    [A*X1-b, A*X2-b] //os resíduos são os mesmos

## Ver Também

- backslash
- inv
- pinv
- rank