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
Report an issue | ||
<< linsolve | Linear Equations | pinv >> |