当需要值向量时,操作返回标量值

发布于 2024-10-14 11:04:09 字数 401 浏览 3 评论 0原文

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

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

把昨日还给我 2024-10-21 11:04:09

操作 B/A(给定 B = 2*xA = sqrt(1+x.^2))将尝试执行矩阵右除,用于行向量x 将是方程组 yA = B 的最小二乘解,这会产生 y 的标量值。

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

The operation B/A (given B = 2*x and A = sqrt(1+x.^2)) will attempt to perform matrix right division, which for a row vector x will be the solution in the least squares sense to the system of equations yA = B, which results in a scalar value for y.

For element-wise array division, perform the operation B./A instead (note the .).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文