当需要值向量时,操作返回标量值
我正在评估一个简单的函数:
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 );
给出单个值而不是值向量?
I'm evaluating a simple function:
y = (2*x)/sqrt( 1 + x.^2 );
Where x
is a vector with about 100 values in it. However, MATLAB makes y
equal to a single scalar value in this instance. If I do:
y = 2*x;
I get a vector of values in y
as expected. If I do:
y = x.^2;
I also get a vector of values in y
as expected.
Why is the above equation y = (2*x)/sqrt( 1 + x.^2 );
giving a single value and not a vector of values?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
操作
B/A
(给定B = 2*x
和A = sqrt(1+x.^2)
)将尝试执行矩阵右除,用于行向量x 将是方程组
yA = B
的最小二乘解,这会产生y
的标量值。对于逐元素数组除法,执行操作
B。 /A
代替(注意.
)。The operation
B/A
(givenB = 2*x
andA = sqrt(1+x.^2)
) will attempt to perform matrix right division, which for a row vectorx
will be the solution in the least squares sense to the system of equationsyA = B
, which results in a scalar value fory
.For element-wise array division, perform the operation
B./A
instead (note the.
).