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

5 ビュー (過去 30 日間)
Kalen
Kalen 2013 年 11 月 4 日
コメント済み: Kalen 2013 年 11 月 6 日
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.
  1 件のコメント
Kalen
Kalen 2013 年 11 月 6 日
Thanks! That seems to fix negative values.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLinear Least Squares についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by