制作二次间隔序列的更简洁的方法?
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)
这是完成我想要完成的任务的代码。
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)