Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.1.1 - Português

Change language to:
English - Français - 日本語 - Русский

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Ajuda do Scilab >> Linear Algebra > Linear Equations > lsq

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

Report an issue
<< linsolve Linear Equations pinv >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jan 03 14:35:22 CET 2022