【問題】解矩陣但解須符合特定條件

作者: fyq (推銷員)   2014-07-01 23:47:43
各位好,
小弟有一個問題困擾許久
現在有一個連續方程組
S1X1+S2X2+error=S
T1X1+T2X2+error=T
PV1X1+PV2X2+error=PV
X1+X2+error=1
這是我拿來解水團成分的
其中S1 S2 T1 T2 PV1 PV2 和S T PV都是已知數
要解出X1 X2,
分別表示1水團和2水團分別在我的實際觀測數據之中佔了多少百分比。
所以我就寫成
A=[S1 S2 1;T1 T2 1; PV1 PV2 1; 1 1 1];
U=[S; T; PV; 1];
A/U之後就是X1 X2 和error了
但是
這邊我遇到一個問題
這樣解出來的X1和X2有可能超過1或者是負值
而這是不可能在現實世界發生的
請問
該如何設入條件讓0<X1<1 以及 0<X2<1呢?
謝謝大家的幫忙!!!
作者: jack10313 (彩色筆)   2014-07-02 00:11:00
關鍵字 Non-negative matrix factorization
作者: fyq (推銷員)   2014-07-02 15:11:00
J<大,我查了你說的關鍵字,看完還是不知道如何使用...可以請您多說明一點嗎?
作者: jack10313 (彩色筆)   2014-07-02 22:59:00
沒有辦法 這屬於碩班的能力 要自己研究才行
作者: fyq (推銷員)   2014-07-03 10:01:00
好的,謝謝J大!不過後來想了一個方法,就是將姐出來的解normalize一樣可以得到0<=X<=1的解答J大提供的程式碼我會在自己研究,謝謝!
作者: kurt28   2014-07-03 16:57:00
滿好奇normalize得到的結果為何會跟另外加入constraint一樣

Links booklink

Contact Us: admin [ a t ] ucptt.com