制作二次间隔序列的更简洁的方法?

More concise way of making quadratically spaced sequence?

这是完成我想要完成的任务的代码。

b1 = np.linspace(-1.5,1.5)
sign = (b1 > 0)*1 
sign[sign==0] = -1
b1 = b1**2 * sign 

现在我将有更多关于 0 的数字,因为这是我的情节中有趣的信息出现的地方。

我觉得这不是很简洁,我相信有更好的方法来做到这一点。

(我想我可以做一个函数来做这个,然后调用它+添加更多的未来,比如甚至让它立方缩放,等等......但我只是认为必须有一个更好的方法,我没有'不知道)

您可以使用 np.where 获得更简洁的版本:

np.where(b1 > 0, b1**2, -b1**2)

还有一个np.sign函数:

b1**2*np.sign(b1)