看板 MATLAB 關於我們 聯絡資訊
各位好, 小弟有一個問題困擾許久 現在有一個連續方程組 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