Python np.sqrt(x-a)*np.heaviside(x,a)

Python np.sqrt(x-a)*np.heaviside(x,a),python,numpy,nan,sqrt,Python,Numpy,Nan,Sqrt,我正试图根据一篇研究论文进行计算。在该计算中,函数的值应为 0,对于x=a 在我的模块中,x和a是1D numpy数组(长度相同)。在我的第一次尝试中,我将函数实现为 f=np.sqrt(x-a)*某物*np.heaviside(x,a) 但是对于x你可以使用np.maximum来作弊,在这种情况下,你可以不计算负数的平方根。 此外,请注意,np.heaviside不使用a作为阈值,而是使用0(在某些情况下,第二个参数是heaviside的输出)。您可以使用np.where 以下是一个例子:

我正试图根据一篇研究论文进行计算。在该计算中,函数的值应为

  • 0,对于x=a
在我的模块中,x和a是1D numpy数组(长度相同)。在我的第一次尝试中,我将函数实现为

f=np.sqrt(x-a)*某物*np.heaviside(x,a)


但是对于x你可以使用
np.maximum来作弊,在这种情况下,你可以不计算负数的平方根。
此外,请注意,
np.heaviside
不使用
a
作为阈值,而是使用0(在某些情况下,第二个参数是heaviside的输出)。您可以使用
np.where

以下是一个例子:


f=np.where(xNeat,我认为
f=np.nan___num(np.sqrt(x-a))*有些东西也会起作用(?)Kevin它起作用了,但它显示了一个OP不希望看到的关于“在sqrt中遇到无效值”的警告。我喜欢这个“欺骗”肯定比我目前的想法更为强烈。感谢关于np.heaviside()的第二个参数的注释!