当期望值向量时,操作返回标量值

时间:2011-01-26 03:50:20

标签: matlab vector division scalar

我正在评估一个简单的函数:

y = (2*x)/sqrt( 1 + x.^2 );

其中x是一个载有约100个值的向量。但是,MATLAB使y等于此实例中的单个标量值。如果我这样做:

y = 2*x;

我按预期在y得到了一个值向量。如果我这样做:

y = x.^2;

按预期在y中获取值的向量。

为什么上面的等式y = (2*x)/sqrt( 1 + x.^2 );给出单个值而不是值向量?

1 个答案:

答案 0 :(得分:6)

操作B/A(给定B = 2*xA = sqrt(1+x.^2))将尝试执行matrix right division,对于行向量x将成为行中的解决方案方程yA = B系统的最小二乘意义,导致y的标量值。

对于element-wise array division,请执行操作B./A(请注意.)。