2013-03-02 20 views
2

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想知道这给了此结果的算法是什么。)

回答

5

\ 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 \以获取更多信息。

建议您检查有关最小二乘和伪逆的更多细节。