scipy.special.nctdtr#

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

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

参数:
dfarray_like

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

ncarray_like

非中心性参数。

tarray_like

分位数,即积分上限。

outndarray, optional

用于存储函数结果的可选输出数组

返回:
cdfscalar or 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]

Boost 开发者。“Boost C++ 库”。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