matlab中的数组除法: 在matlab里我以前都没敢尝试,就是[1 2 3]⼀[3 4 5]遵循什么运算规则?

[1 2 3]⼀[3 4 5]ans =0.5200是按照什么规则计算的?
2025-06-22 23:35:39
推荐回答(1个)
回答1:

“/”是矩阵右除的符号,对应的函数是mrdivide。矩阵右除是通过左除实现的,也就是说,A/B = (B'\A')'。
“\”是矩阵左除的符号,对应的函数是mldivide。

x=A\B是线性方程组Ax=B的解,而x=B/A是线性方程组xA=B的解(如果方程组欠定或超定,则解为最小二乘意义上的)。

以你举的例子来说,相当于求3x=1,4x=2,5x=3这样一个方程组的解,显然这个方程组属于超定的情况,无解,但可以求出最小二乘解x=0.52。

使用最小二乘拟合函数可以求出相同的解来:
k=lsqcurvefit(inline('k*x','k','x'),0,[3 4 5],[1 2 3])