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
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()的第二个参数的注释!