如何生成Q函数的值

时间:2019-05-10 10:33:56

标签: python

我正在尝试将Q函数值应用于问题。我不知道Python中可用的功能。

以下以八度为单位的代码的python等价物是什么?

>> f=0:0.01:1;
>> qfunc(f)

3 个答案:

答案 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,让我知道如何写一个好的答案