Usage of the commande nnls(A,b,tol) in MATLAB new versions

2 views (last 30 days)
Hello,
I want to solve the following non negative least squares problem : nnls(A,b,tol). Given a matrix A, a vector b and a tolerance tol, I want to fin x such ||A*x-b||^2 < tol* ||b||^2 with x>=0
Does someone have any idea how to do it in matlab ?
Regards !

Answers (1)

Animesh
Animesh on 10 Jun 2024
In MATLAB, you can solve a non-negative least squares (NNLS) problem using the 'lsqnonneg' function.
To read more about it, please refer to the following link - https://www.mathworks.com/help/matlab/ref/lsqnonneg.html
  2 Comments
Poulmdé
Poulmdé on 10 Jun 2024
Thank you for your answer @Animesh
But I don't know how to use this 'lsqnonneg' with a tolerance imposed. Actually, I am not looking for the solution that minimizes the residual norm but the first one such that the residual fullfils the tolerance.
Thanks !

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!