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

5 visualizaciones (últimos 30 días)
Kalen
Kalen el 4 de Nov. de 2013
Comentada: Kalen el 6 de Nov. de 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 comentarios
Matt J
Matt J el 4 de Nov. de 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 el 6 de Nov. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 4 de Nov. de 2013
Editada: Matt J el 4 de Nov. de 2013
You could use LSQNONNEG or LSQLIN.

Más respuestas (0)

Categorías

Más información sobre Linear Least Squares en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by