X = [1; 2; 3]Matlab左 - 向量中的劃分?
X =
1
2
3
Y = [4; 5; 6]
Y =
4
5
6
X \ Y^
ANS =
2.2857
怎麼Matlab的發現,結果呢? (我搜索很多論壇,但我不明白他們told.I想知道這給了此結果的算法是什麼。)
X = [1; 2; 3]Matlab左 - 向量中的劃分?
X =
1
2
3
Y = [4; 5; 6]
Y =
4
5
6
X \ Y^
ANS =
2.2857
怎麼Matlab的發現,結果呢? (我搜索很多論壇,但我不明白他們told.I想知道這給了此結果的算法是什麼。)
此文檔應該說明它
http://www.mathworks.com/help/matlab/ref/mrdivide.html
這裏是一個鏈接該算法
http://www.maths.lth.se/na/courses/NUM115/NUM115-11/backslash.html
你可以看到裏面的matlab源更容易不過。 (我沒有在本地,所以我不能檢查,但很多功能的MATLAB的源可用內部MATLAB)
從\
MATLAB文檔:
如果A是一個M-by-N
矩陣M <or> N
B是具有M個分量的列向量或者具有多個這種列的矩陣,那麼X = A\B
是方程A*X = B
的欠方程或超定方程系統的最小二乘意義上的解。
在這裏你的系統沒有超出/超過確定。因爲兩者都有3行。所以,你可以想像你的公式爲:現在
xM=y
M=inv(x)*y
,因爲你的矩陣不是方形,它會用SVD計算僞逆。因此,
M=pinv(x)*y;
您將得到M的值爲2.2857。
另一種解釋可以是:它會給你最小二乘意義上的xM=y
的解決方案。你可以驗證如下:
M=lsqr(x,y)
這會給你M = 2.2857的值。
您可以在MATLAB命令窗口中始終執行help \
以獲取更多信息。
建議您檢查有關最小二乘和僞逆的更多細節。