Solve systems of linear equations Ax = B for x>=0

5 Ansichten (letzte 30 Tage)
Kalen
Kalen am 4 Nov. 2013
Kommentiert: Kalen am 6 Nov. 2013
BACKGROUND:
I have a set of image data where signal can leak into multiple detection channels of each image. I am attempting to reassign the leaky signal by solving the equation A*x=b where A is the percentage of real signal x that leaks into each detection channel of my acquired image b. A is a 3x3 matrix and b is a 1x3 matrix. I currently solve this problem for each pixel with the code:
x=A\b; where \ should be mldivide.
THE PROBLEM:
I get negative solutions for x which is impossible since I could never get a negative result in an acquired image. I am out of my element with this problem. I would appreciate any direction towards appropriate functions or related topics that I should look into to solve such an equation as above where solutions for x must be >=0. I have access to every Matlab toolbox through my institution.
  2 Kommentare
Matt J
Matt J am 4 Nov. 2013
So, multiple solutions to A*x=b exist some of which are >=0 and some not? Otherwise, you may have simply constructed A and b incorrectly, such that the only solutions are negative.
Kalen
Kalen am 6 Nov. 2013
It usually finds a positive result, but fails sometimes. I was hoping that I may improve my image quality somewhat if those locations were affecting something. Thanks for the advice.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 4 Nov. 2013
Bearbeitet: Matt J am 4 Nov. 2013
You could use LSQNONNEG or LSQLIN.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by