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

如何在Python函数绘图中使用浮点型数值作为步长?

问题修复方案

错误原因

你对numpy序列生成函数的参数使用有误:
np.linspace(start, stop, num)的第三个参数num代表需要生成的样本点总数量,要求为整数类型,你传入的浮点型步长0.0001不符合参数要求,因此抛出类型错误。

修复方法

有两种方案可以实现指定步长生成序列:

方案1:使用np.arange生成序列(更适合指定步长的场景)

np.arange(start, stop, step)的第三个参数就是步长,支持浮点型输入。需要注意np.arange默认不包含右边界,为了避免浮点精度问题导致遗漏1.044这个点,可以将右边界设置为1.044 + 1e-8。

修正后的代码如下:

import matplotlib.pyplot as plt
import numpy as np

# 用arange指定步长生成x序列
x = np.arange(0.975, 1.044 + 1e-8, 0.0001)

# 注:原多项式是(x-1)**7的二项式展开,可简化写法,同时减少计算误差
y = (x - 1) ** 7

fig, ax = plt.subplots()
ax.plot(x, y)
plt.show()

方案2:继续使用np.linspace,手动计算总点数

你可以先根据区间长度和步长计算需要生成的总点数,再将整数类型的总点数传入np.linspace:

  • 区间总长度:1.044 - 0.975 = 0.069
  • 总点数 = 区间长度 / 步长 + 1 = 0.069 / 0.0001 + 1 = 691

对应x序列生成代码修改为:

x = np.linspace(0.975, 1.044, 691)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:24:02