You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于np.linspace(0,1,10)**2运算结果的疑问及解释请求

解释np.linspace(0, 1, 10) ** 2的运算结果

嘿,我来帮你理清这个问题~你预期的结果和实际输出不一样,核心原因是你对np.linspace的输出逻辑理解错啦!

先给你拆解一下:

  • np.linspace(start, stop, num)的作用是生成从start到stop(包含两端)的num个均匀间隔数值。这里你传的参数是(0,1,10),意味着要把0到1这个区间分成9等份(因为10个点有9个间隔),每个间隔是(1-0)/(10-1) = 1/9 ≈ 0.1111。
  • 所以np.linspace(0,1,10)生成的原始序列是:0, 1/9, 2/9, 3/9, ..., 9/9,也就是[0., 0.11111111, 0.22222222, 0.33333333, 0.44444444, 0.55555556, 0.66666667, 0.77777778, 0.88888889, 1.]。
  • 对这个序列做平方运算**2,自然就得到了你看到的结果:每个元素是对应原始值的平方,比如(1/9)² ≈0.01234568,(2/9)²≈0.04938272,以此类推。

如果想要得到你预期的类似逻辑结果(我猜你可能是想基于间隔0.1的序列做平方),应该用间隔为0.1的序列来计算,比如用np.arange:

np.arange(0, 1.1, 0.1) ** 2

这个代码会生成0, 0.1, 0.2, ..., 1.0的序列,平方后得到array([0. , 0.01, 0.04, 0.09, 0.16, 0.25, 0.36, 0.49, 0.64, 0.81, 1. ]),和你预期的逻辑一致。

内容的提问来源于stack exchange,提问作者Arrara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:04:38