Regularized SVD to find the least square solution
3 views (last 30 days)
Show older comments
Hi all,
I am required to find a least square solution of system of linear equation (Ax = b) where the system is overdetermined. I notice that when i write A= vpa(A, 128) i get the full column rank whereas without vpa it is rank deficient matrix. I have used couple of mehods to solve this e.g
1 - x = A\b
2 - x = (A'*A\A'*b) ( produces the best ans so far but not perfect )
3 - x = pinv(double(A))*double(b)
4 - x = lsqminnorm(double(A'*A), double(A'*b))
but none of them seems to produce the solution i am wishing for. Kindly tell me other efficient ways of producing least square solution or let me know if i am going wrong.
2 Comments
Accepted Answer
Bruno Luong
on 2 Sep 2023
Moved: Bruno Luong
on 2 Sep 2023
There is no MATLAB function that I'm aware of, you can build your own or look in file exchange, there are few posted there.
lambda = something;
[m,n] = size(A)
x = [A; sqrt(lambda)*eye(n)] \ [b; zeros(n,1)]
More Answers (1)
Rondall
on 16 Mar 2024
The new routine, ARLS, is for just such problems.
2 Comments
Rondall
on 17 Mar 2024
Sorry.... I foolishly misspoke.... ARLS is available from File Exchange.... just seach F.E. for it.
It's NOT a built in function. My apologies.
See Also
Categories
Find more on Linear Algebra in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!