作者Achui (垂仔)
看板MATLAB
标题Re: [问题] 有条件的利用最小平方法求最佳解
时间Sat May 18 16:03:48 2013
※ 引述《Achui (垂仔)》之铭言:
: 标题: [问题] 有条件的利用最小平方法求最佳解
: 时间: Sat May 18 12:07:13 2013
:
: 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
: → aia:X改成[x1 x2 1-x1-x2]之後重算一次A,B矩阵,A变10*2矩阵 05/18 13:31
抱歉,不太懂a大的意思
A=[22 18 12
67 49 40
28 32 46
19 22 13
44 43 65
58 81 77
68 39 17
19 21 49
57 25 21
16 11 18];
B=[ 44
125
32
31
54
34
174
23
122
32];
X=A\B=[3.2208 ; -1.4597 ; -0.3583]
然後再令X2=[3.2208 ; -1.4597 ; 1-3.2208-(-1.4597)]是吗?
接下来要如何重算A B得到一个10*2的A矩阵?
: 推 profyang:楼上你这样跟A多加一个row:[1 1 1]然後B多加个元素[1] 05/18 14:22
: → profyang:有什麽不同?这样最小方差出来的X三个元素还是不一定会 05/18 14:23
: → profyang:满足相加等於1 05/18 14:23
: 推 profyang:ㄟ等等好像确实不一样... 05/18 14:28
: 推 profyang:1F的方法应该是正解 但是这样等於还要自己重组矩阵 05/18 14:51
: → profyang:还蛮好奇有没有更方便的做法= =+ 05/18 14:51
: → profyang:应该说更容易写成code的做法 05/18 14:52
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.80.215
1F:→ aia:a1*x1+a2*x2+a3*(1-x1-x2)=b => (a1-a3)*x1+(a2-a3)*x2=b-a3 05/18 16:07
2F:→ aia:用上面的式子组成新的系数矩阵之後再反除 05/18 16:08
3F:→ aia:得到x1,x2後用总和为1之关系式算x3即可 05/18 16:09
4F:→ Achui:了解了!! 谢谢帮忙我在来研究一下fmincon的解法~ 05/18 16:11
5F:→ jenhom:CF = @(x) sum((B-A*x).^2); x0=[1;0;0]; 05/19 01:11
6F:→ jenhom:yy=fmincon(CF,x0,[],[],[1 1 1],1) 05/19 01:11
7F:→ jenhom:还需要optimize一下 05/19 01:12