scipy.special.nctdtr#
- scipy.special.nctdtr(df, nc, t, out=None) = <ufunc 'nctdtr'>#
非中心 t 分布的累积分布函数。
- 参数:
- dfarray_like
分布的自由度。应在范围 (0, inf) 内。
- ncarray_like
非中心性参数。
- tarray_like
分位数,即积分上限。
- outndarray,可选
用于函数结果的可选输出数组
- 返回:
- cdf标量或 ndarray
计算得到的 CDF。如果所有输入都是标量,则返回值将是一个浮点数。否则,它将是一个数组。
说明
此函数使用 Boost Math C++ 库 [1] 计算非中心 t 分布的 CDF。
请注意,
nctdtr
的参数顺序与scipy.stats.nct
的类似cdf
方法的参数顺序不同:t 是nctdtr
的最后一个参数,但却是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
绘制非中心 t 分布的 CDF,对于 nc=0。与 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()