Matlab 中的非元素向量除法 returns 一个标量!它是什么?

Non-element-wise vector division in Matlab returns a scalar! What is it?

我花了一个多小时来查找代码中导致精度错误的错误。事实证明,在我的一个方程式中,我忘记了按元素划分两个向量;我写了 / 而不是 ./。通常 Matlab 在这些情况下会给出错误,例如如果您尝试将两个向量与 * 相乘而不是 .*。但在这种情况下,它很乐意返回一个标量值!这是应该发生的吗,这个值有什么意义吗?

例如,

x = 0 : 0.01 : 1;
y = x/exp(x);

y=0.3132.

是的,这应该发生。您使用了 matrix right division operator /,在这种特殊情况下,它找到了 y 的标量值,它在最小二乘意义上求解了以下方程组:

y*exp(x) = x;