[問題] 有條件的利用最小平方法求最佳解

看板MATLAB作者 (垂仔)時間12年前 (2013/05/18 12:07), 編輯推噓3(308)
留言11則, 2人參與, 最新討論串1/2 (看更多)
A * X = B A:已知的資料,是一個10*3大小的矩陣 B:已知的資料,是一個10*1大小的矩陣 X:欲求解的3*1大小的轉換矩陣 利用最小平方法求出X的最佳解: X=A\B 但若加上一個條件: X的元素和=1 該怎麼做呢?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.80.215

05/18 13:31, , 1F
X改成[x1 x2 1-x1-x2]之後重算一次A,B矩陣,A變10*2矩陣
05/18 13:31, 1F

05/18 14:22, , 2F
樓上你這樣跟A多加一個row:[1 1 1]然後B多加個元素[1]
05/18 14:22, 2F

05/18 14:23, , 3F
有什麼不同?這樣最小方差出來的X三個元素還是不一定會
05/18 14:23, 3F

05/18 14:23, , 4F
滿足相加等於1
05/18 14:23, 4F

05/18 14:28, , 5F
ㄟ等等好像確實不一樣...
05/18 14:28, 5F

05/18 14:51, , 6F
1F的方法應該是正解 但是這樣等於還要自己重組矩陣
05/18 14:51, 6F

05/18 14:51, , 7F
還蠻好奇有沒有更方便的做法= =+
05/18 14:51, 7F

05/18 14:52, , 8F
應該說更容易寫成code的做法
05/18 14:52, 8F

05/18 15:57, , 9F
要簡單直接用fmincon,可以限制Aed*x=Beq,但以原po要求來說
05/18 15:57, 9F

05/18 15:57, , 10F
我倒覺得直接從數學上解決比較快
05/18 15:57, 10F

05/18 15:59, , 11F
上面打錯,是Aeq*X=Beq,就是[1,1,1]*X=[1]
05/18 15:59, 11F
文章代碼(AID): #1Hblvpxh (MATLAB)
文章代碼(AID): #1Hblvpxh (MATLAB)