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

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)

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

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 !
@Animesh, problem has been solved. Thank you for your help.

Sign in to comment.

Asked:

on 10 Jun 2024

Commented:

on 13 Jun 2024

Community Treasure Hunt

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

Start Hunting!