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

5 次查看(过去 30 天)
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 个评论
Matt J
Matt J 2013-11-4
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 2013-11-6
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.

请先登录,再进行评论。

采纳的回答

Matt J
Matt J 2013-11-4
编辑:Matt J 2013-11-4
You could use LSQNONNEG or LSQLIN.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Linear Least Squares 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by