根据自定义函数图创建数组 (Python)

Creating an array based on a plot of custom function (Python)

我正在尝试使用 Numpy 创建一个对应于以下绘图的 y 向量:

x 值将从 0 到 24 运行,y 值应为:

0 到 6 将是 0

6 到 18 是抛物线

18 到 24 将再次为 0

有什么好的方法吗?我还没有任何实际的想法(我考虑过某种插值)。

谢谢!

我假设你想要一个圆形而不是抛物线(根据你的方案)。

import numpy as np

length = 24
radius = 6

x = np.arange(length)
y = np.sqrt(radius**2-(x-(length/2))**2)
y = np.nan_to_num(y)

print(x)
# [ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
print(y)
# [0.         0.         0.         0.         0.         0.
#  0.         3.31662479 4.47213595 5.19615242 5.65685425 5.91607978
#  6.         5.91607978 5.65685425 5.19615242 4.47213595 3.31662479
#  0.         0.         0.         0.         0.         0.        ]