作者fyq (推銷員)
看板MATLAB
標題【問題】解矩陣但解須符合特定條件
時間Tue Jul 1 23:47:43 2014
各位好,
小弟有一個問題困擾許久
現在有一個連續方程組
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呢?
謝謝大家的幫忙!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 124.8.84.220
※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1404229666.A.49A.html
推 jack10313:關鍵字 Non-negative matrix factorization 07/02 00:11
→ fyq:J<大,我查了你說的關鍵字,看完還是不知道如何使用... 07/02 15:11
→ fyq:可以請您多說明一點嗎? 07/02 15:11
推 jack10313:沒有辦法 這屬於碩班的能力 要自己研究才行 07/02 22:59
→ fyq:好的,謝謝J大! 07/03 10:01
→ fyq:不過後來想了一個方法,就是將姐出來的解normalize 07/03 10:02
→ fyq:一樣可以得到0<=X<=1的解答 07/03 10:02
→ fyq:J大提供的程式碼我會在自己研究,謝謝! 07/03 10:03
推 kurt28:滿好奇normalize得到的結果為何會跟另外加入constraint一樣 07/03 16:57