Solve a system of linear equations
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
I would like to solve a system of linear equations for the unknowns xj using a least-squared approximation procedure with a non-negative constraint (using the lsqnonneg function in MATLAB). The linear equation system is represented as S=Y⋅A, where S is a 30-element vector containing all the si values, Y is a 30×n matrix containing all the yj,i values, and A is an n-element vector containing the unknowns xj. While I can solve each equation for individual sample using the lsnonneg function in MATLAB, I am seeking guidance on how to solve the equations for many samples simultaneously..
Thanks,
0 Kommentare
Antworten (1)
John D'Errico
am 28 Feb. 2024
Bearbeitet: John D'Errico
am 28 Feb. 2024
I am confused. You say that you know how to solve the problem using lsqnonneg. So just use it!
n = 30;
Y = rand(30,n);
S = rand(30,1);
See, that if I just use backslash here, it will produce a result that is not bounded to be nonnegative.
xslash = Y\S
As such, you use lsqnonneg. And you do not use lsqnonneg one equation at a time. It applies to the entire system.
x = lsqnonneg(Y,S)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Linear Algebra finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!