我正在尝试使用Numpy创建一个y向量,该向量将对应于以下图:
x值将从0到24,y值应为:
0到6将为0
6到18将是一种抛物线
18到24将再次为0
有什么好办法吗?我还没有任何实际的想法(我考虑过某种插值)。
谢谢!
答案 0 :(得分:1)
我假设你想要一个圆形而不是一个抛物线(基于你的方案),我已经做到了。
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. ]