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。如果所有输入都是标量,则返回值为浮点数。否则,将返回一个数组。
另请参见
注释
此函数使用 Boost Math C++ 库 [1] 计算非中心 t 分布的 CDF。
请注意,
nctdtr
的参数顺序与scipy.stats.nct
的类似cdf
方法的参数顺序不同:t 是nctdtr
的最后一个参数,但却是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()