3

我正在评估一个简单的功能:

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

哪里x是一个包含大约 100 个值的向量。但是,MATLABy在此实例中等于单个标量值。如果我做:

y = 2*x;

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

y = x.^2;

y按预期得到了一个值向量。

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

4

1 回答 1

6

运算B/A(给定B = 2*xA = sqrt(1+x.^2))将尝试执行矩阵右除法,对于行向量,这x将是方程组最小二乘意义上的解yA = B,这会导致 的标量值y

对于逐元素数组除法B./A,请改为执行操作(注意.)。

于 2011-01-26T03:57:54.077 回答