scipy.special.nctdtr#

scipy.special.nctdtr(df, nc, t, out=None) = <ufunc 'nctdtr'>#

非中心 t 分布的累积分布函数。

参数:
dfarray_like

分布的自由度。应在 (0, inf) 范围内。

ncarray_like

非中心性参数。

tarray_like

分位数,即积分的上限。

outndarray, optional

函数结果的可选输出数组

返回:
cdf标量或 ndarray

计算出的 CDF。如果所有输入都是标量,则返回值为浮点数。否则,将返回一个数组。

另请参见

nctdtrit

非中心 t 分布的逆 CDF (iCDF)。

nctdtridf

给定 CDF 和 iCDF 值,计算自由度。

nctdtrinc

给定 CDF iCDF 值,计算非中心性参数。

注释

此函数使用 Boost Math C++ 库 [1] 计算非中心 t 分布的 CDF。

请注意,nctdtr 的参数顺序与 scipy.stats.nct 的类似 cdf 方法的参数顺序不同:tnctdtr 的最后一个参数,但却是 scipy.stats.nct.cdf 的第一个参数。

参考文献

[1]

The Boost Developers. “Boost C++ Libraries”. https://boost.ac.cn/.

示例

>>> import numpy as np
>>> from scipy import special
>>> from scipy import stats
>>> import matplotlib.pyplot as plt

绘制 nc=0 时非中心 t 分布的 CDF。与 scipy.stats 中的 t 分布进行比较

>>> x = np.linspace(-5, 5, num=500)
>>> df = 3
>>> nct_stats = stats.t.cdf(x, df)
>>> nct_special = special.nctdtr(df, 0, x)
>>> fig = plt.figure()
>>> ax = fig.add_subplot(111)
>>> ax.plot(x, nct_stats, 'b-', lw=3)
>>> ax.plot(x, nct_special, 'r-')
>>> plt.show()
../../_images/scipy-special-nctdtr-1.png