创建列表 np.arange



我想创建列表,所以我使用了:

x_ticks=np.arange(x1, x2, 6)
print(x_ticks)
print(type(x_ticks))
print(x_ticks[5])

结果是:

[-1.15e-14]
<class 'numpy.ndarray'>
Traceback (most recent call last):
File "el_motion.py", line 371, in <module>
print(x_ticks[5])
IndexError: index 5 is out of bounds for axis 0 with size 1

为什么没有打印 6 个元素?谢谢

编辑

如何使用此列表和循环在 3D 中绘制小线?

x1=-1.15e-14
x2=0.009e-14
x_ticks=np.linspace(x1, x2, 6)
print(x_ticks)
print(type(x_ticks))
print(x_ticks[5])
stepx=(x2-x1)/6
print(stepx)
for xi in range(1, 6):
ax.plot([xi*stepx, xi*stepx], [-6.3e-15, -6.4e-15], [0,0])

结果是一行不在所需位置。我想在平面z中打印它,线的长度由y设置,起点由x定义。

numpy arange(( 的第 3 个参数是step,元素的数量取决于x1x26,你可能想打印出x_ticks。例子:

>>> np.arange(0, 24, 6)
array([ 0,  6, 12, 18])
>>> np.arange(0, 30, 6)
array([ 0,  6, 12, 18, 24])

我的猜测是 x1 和 x2 之间的差异小于提供的步长间隔 (6(。例如:

np.arange(1, 5)

指纹

[1, 2, 3, 4]

而对于

np.arange(1, 5, 6)

6 的步长太大,因此它只返回第一个值

[1]

另一方面,np.linspace(x1, x2, 6( 将返回 x1 和 x2 之间均匀间隔的增量,产生 6 个数字

最新更新