MATLAB Function Reference | ![]() ![]() |
Least squares solution in the presence of known covariance
Syntax
Description
x = lscov(A,b,V)
returns the vector x
that solves A*x = b + e
where e
is normally distributed with zero mean and covariance V
. Matrix A
must be m
-by-n
where m > n
. This is the over-determined least squares problem with covariance V
. The solution is found without inverting V
.
[x,dx] = lscov(A,b,V)
returns the standard errors of x
in dx
. The standard statistical formula for the standard error of the coefficients is:
mse = B'*(inv(V)-inv(V)*A*inv(A'*inv(V)*A)*A'*inv(V))*B./(m-n) dx = sqrt(diag(inv(A'*inv(V)*A)*mse))
Algorithm
The vector x
minimizes the quantity (A*x-b)'*inv(V)*(A*x-b)
. The classical linear algebra solution to this problem is
but the lscov
function instead computes the QR decomposition of A
and then modifies Q
by V
.
See Also
The arithmetic operator \
Reference
[1] Strang, G., Introduction to Applied Mathematics, Wellesley-Cambridge, 1986, p. 398.
![]() | ls | lsqnonneg | ![]() |