lsqminnorm- Tolerance to Reduce Impact of Noisy Data

3 ビュー (過去 30 日間)
hugozhao
hugozhao 2020 年 9 月 9 日
回答済み: Christine Tobler 2020 年 9 月 10 日
Hello everyone,
I'm trying to solve a unterdetermined linear system: Ax=b.
x = lsqminnorm(A,b);
Setting Rank tolerance, can help prevent the solution from being susceptible to random noise in the coefficient matrix A. But dose it work the same way, if I have noise in b instead of A?
Also in the description of 'lsqminnorm', section "Specify Tolerance to Reduce Impact of Noisy Data", they say:
lsqminnorm is treating small values on the diagonal of the R matrix in the QR decomposition of A as being more important than they are.
Anybody can give a more detailed explaination?
Thanks

回答 (1 件)

Christine Tobler
Christine Tobler 2020 年 9 月 10 日
The tolerance in lsqminnorm should be used if you expect your matrix A to be of low rank up to a tolerance. That is, for rank k, the singular values k+1, k+2, ... will all be smaller than some tolerance tol.
In that case, a call to lsqminnorm(A, b, tol) is qualitatively similar to calling pinv(A, tol) * b to compute x using only the low-rank part of this matrix A. The difference when calling lsqminnorm is that this is usually faster, because it internally uses the QR decomposition instead of the SVD decomposition.
If the right-hand side is also affected by noise, lsqminnorm and pinv are not the right tools to take this into account.

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by