我正在尝试将Q函数值应用于问题。我不知道Python中可用的功能。
以下以八度为单位的代码的python等价物是什么?
>> f=0:0.01:1;
>> qfunc(f)
答案 0 :(得分:0)
看看这个https://docs.scipy.org/doc/scipy-0.19.1/reference/generated/scipy.stats.norm.html 看起来norm.sf方法(生存函数)可能就是您想要的。
答案 1 :(得分:0)
Q函数可以用误差函数表示。查看here了解更多信息。 “ scipy”具有错误函数special.erf(),可用于计算Q函数。
import numpy as np
from scipy import special
f = np.linspace(0,1,101)
0.5 - 0.5*special.erf(f/np.sqrt(2)) # Q(f) = 0.5 - 0.5 erf(f/sqrt(2))
答案 2 :(得分:0)
我在我的代码中使用了这个Q函数,效果很好,
from scipy import special as sp
def qfunc(x):
return 0.5-0.5*sp.erf(x/sqrt(2))
我用过这个,但是我认为它应该可以工作,
def invQfunc(x):
return sqrt(2)*sp.erfinv(1-2x)
参考: https://mail.python.org/pipermail/scipy-dev/2016-February/021252.html Python equivalent of MATLAB's qfuncinv() 感谢@Anton,让我知道如何写一个好的答案