为什么MATLAB在进行数组除法时使用平均值?

Mik*_*ebb 1 arrays matlab matrix division

我在MATLAB中有以下变量和代码:

A = [ 2 2 2 2 2 ]
B = [ 1 2 3 4 5 ]
B / A % = 1.5
Run Code Online (Sandbox Code Playgroud)

答案,1.5实际上是B中的值的平均值除以2,但为什么MATLAB会对这些数组和/运算符执行此操作?

编辑:

综观文档这里附近的矩阵右师页面的底部:

x = B/A,其中xA = B.

...但是乘以x * A上面的结果[ 3 3 3 3 3 ].这似乎也没有意义.我在这里也错过了一些东西吗?

gno*_*ice 6

右除法运算符/(或mrdivide功能)将求解线性方程组的系统xA = Bx.从上面的文档链接:

如果A是矩形m- n矩阵m ~= n,并且B是具有n列的矩阵,则x = B/A返回方程组的最小二乘解x*A = B.

它计算的x最佳值近似于最小二乘意义上的解,因为在这种情况下,你有一个欠定方程组.没有确切的解决方案,所以x*A不能完全重现B.