Main Content

normcdf

正态累积分布函数

说明

示例

p = normcdf(x) 返回标准正态分布的累积分布函数 (cdf),在 x 中的值处计算函数值。

p = normcdf(x,mu) 返回具有均值 mu 和单位标准差的正态分布的 cdf,在 x 中的值处计算函数值。

示例

p = normcdf(x,mu,sigma) 返回具有均值 mu 和标准差 sigma 的正态分布的 cdf,在 x 中的值处计算函数值。

示例

musigma 为估计值时,[p,pLo,pUp] = normcdf(x,mu,sigma,pCov) 还返回 p 的 95% 置信边界 [pLo,pUp]。pCov 是估计参数的协方差矩阵。

[p,pLo,pUp] = normcdf(x,mu,sigma,pCov,alpha) 指定置信区间 [pLo,pUp] 的置信水平为 100(1–alpha)%。

示例

___ = normcdf(___,'upper') 使用可更精确计算极值上尾概率的算法返回在 x 中的值处计算的 cdf 的补码。'upper' 可以跟在上述语法中的任何输入参数之后。

示例

全部折叠

计算标准正态分布中的观测值落在区间 [–1 1] 上的概率。

p = normcdf([-1 1]);
p(2)-p(1)
ans = 0.6827

一个正态分布中大约 68% 的观测值落在均值为 0 的一个标准差内。

计算均值为 mu 和标准差为 sigma 的正态分布在 x 中的值处计算的 cdf 值。

x = [-2,-1,0,1,2];
mu = 2;
sigma = 1;
p = normcdf(x,mu,sigma)
p = 1×5

    0.0000    0.0013    0.0228    0.1587    0.5000

计算具有不同均值参数的各种正态分布在零处计算的 cdf 值。

mu = [-2,-1,0,1,2];
sigma = 1;
p = normcdf(0,mu,sigma)
p = 1×5

    0.9772    0.8413    0.5000    0.1587    0.0228

计算正态分布参数的最大似然估计 (MLE),然后计算对应 cdf 值的置信区间。

从均值为 5、标准差为 2 的正态分布中生成 1000 个正态随机数。

rng('default') % For reproducibility
n = 1000; % Number of samples
x = normrnd(5,2,n,1);

使用 mle 计算分布参数(均值和标准差)的 MLE。

phat = mle(x)
phat = 1×2

    4.9347    1.9969

muHat = phat(1);
sigmaHat = phat(2);

使用 normlike 估计分布参数的协方差。如果您传递 MLE 和用于估计 MLE 的样本,则函数 normlike 返回渐近协方差矩阵的逼近。

[~,pCov] = normlike([muHat,sigmaHat],x)
pCov = 2×2

    0.0040   -0.0000
   -0.0000    0.0020

计算在零处的 cdf 值及其 95% 置信区间。

[p,pLo,pUp] = normcdf(0,muHat,sigmaHat,pCov)
p = 0.0067
pLo = 0.0047
pUp = 0.0095

p 是使用参数为 muHatsigmaHat 的正态分布的 cdf 值。考虑到使用 pCovmuHatsigmaHat 的不确定性,区间 [pLo,pUp] 是在 0 处计算的 cdf 的 95% 置信区间。95% 置信区间意味着 [pLo,pUp] 包含真实 cdf 值的概率为 0.95。

确定标准正态分布中的观测值落入 [10,Inf] 区间的概率。

p1 = 1 - normcdf(10)
p1 = 0

normcdf(10) 接近 1,因此 p1 变为 0。指定 'upper' 以便 normcdf 更准确地计算极端上尾概率。

p2 = normcdf(10,'upper')
p2 = 7.6199e-24

您还可以使用 'upper' 计算右尾 p 值。

使用概率分布函数 normcdf 作为卡方拟合优度检验中的函数句柄 (chi2gof)。

检验原假设,即输入向量 x 中的样本数据来自正态分布,其参数 µσ 分别等于样本数据的均值 (mean) 和标准差 (std)。

rng('default') % For reproducibility
x = normrnd(50,5,100,1);
h = chi2gof(x,'cdf',{@normcdf,mean(x),std(x)})
h = 0

返回的结果 h = 0 表明 chi2gof 在默认的 5% 显著性水平上未拒绝原假设。

输入参数

全部折叠

用于计算 cdf 的值,指定为标量值或标量值组成的数组。

如果您指定 pCov 来计算置信区间 [pLo,pUp],则 x 必须为标量值。

要在多个值处计算 cdf,请使用数组指定 x。要计算多个分布的 cdf,请使用数组指定 musigma。如果输入参数 xmusigma 中的一个或多个是数组,则数组大小必须相同。在这种情况下,normcdf 将每个标量输入扩展为与数组输入大小相同的常量数组。p 中的每个元素是由 musigma 中对应元素指定的分布的 cdf 值,其值在 x 中对应元素处进行计算。

示例: [-1,0,3,4]

数据类型: single | double

正态分布的均值,指定为标量值或由标量值组成的数组。

如果您指定 pCov 来计算置信区间 [pLo,pUp],则 mu 必须为标量值。

要在多个值处计算 cdf,请使用数组指定 x。要计算多个分布的 cdf,请使用数组指定 musigma。如果输入参数 xmusigma 中的一个或多个是数组,则数组大小必须相同。在这种情况下,normcdf 将每个标量输入扩展为与数组输入大小相同的常量数组。p 中的每个元素是由 musigma 中对应元素指定的分布的 cdf 值,其值在 x 中对应元素处进行计算。

示例: [0 1 2; 0 1 2]

数据类型: single | double

正态分布的标准差,指定为非负标量值或由非负标量值组成的数组。

如果 sigma 为零,则输出 p 为 0 或 1。如果 x 小于 mu,则 p 为 0,否则为 1。

如果您指定 pCov 来计算置信区间 [pLo,pUp],则 sigma 必须为标量值。

要在多个值处计算 cdf,请使用数组指定 x。要计算多个分布的 cdf,请使用数组指定 musigma。如果输入参数 xmusigma 中的一个或多个是数组,则数组大小必须相同。在这种情况下,normcdf 将每个标量输入扩展为与数组输入大小相同的常量数组。p 中的每个元素是由 musigma 中对应元素指定的分布的 cdf 值,其值在 x 中对应元素处进行计算。

示例: [1 1 1; 2 2 2]

数据类型: single | double

musigma 估计值的协方差,指定为 2×2 矩阵。

如果指定 pCov 来计算置信区间 [pLo,pUp],则 xmusigma 必须为标量值。

您可以使用 mle 来估计 musigma,并使用 normlike 来估计 musigma 的协方差。有关示例,请参阅正态 cdf 值的置信区间

数据类型: single | double

置信区间的显著性水平,指定为范围 (0,1) 内的标量。置信水平是 100(1–alpha)%,其中 alpha 是置信区间不包含 true 值的概率。

示例: 0.01

数据类型: single | double

输出参数

全部折叠

x 中的值处计算的 cdf 值,以标量值或标量值数组的形式返回。在经过任何必要的标量扩展后,p 的大小与 xmusigma 相同。p 中的每个元素是由 musigma 中对应元素指定的分布的 cdf 值,其值在 x 中对应元素处进行计算。

p 的置信边界下限,以标量值或标量值数组的形式返回。pLo 的大小与 p 相同。

p 的置信边界上限,以标量值或标量值数组的形式返回。pUp 的大小与 p 相同。

详细信息

全部折叠

正态分布

正态分布是双参数曲线族。第一个参数 µ 是均值。第二个参数 σ 是标准差。

标准正态分布具有零均值和单位标准差。

正态累积分布函数 (cdf) 表示为

p=F(x|μ,σ)=1σ2πxe(tμ)22σ2dt,forx.

p 是参数为 μσ 的正态分布中的一个观测值落入 (-∞,x] 区间的概率。

算法

  • normcdf 函数使用补余误差函数 erfcnormcdferfc 之间的关系是

    normcdf(x)=12erfc(x2).

    补余误差函数 erfc(x) 定义为

    erfc(x)=1erf(x)=2πxet2dt.

  • normcdf 函数使用 delta 方法计算 p 的置信边界。normcdf(x,mu,sigma) 等效于 normcdf((x–mu)/sigma,0,1)。因此,normcdf 函数通过 delta 方法使用 musigma 的协方差矩阵来估计 (x–mu)/sigma 的方差,并使用此方差的估计值来计算 (x–mu)/sigma 的置信边界。然后,该函数将边界转换为 p 的尺度。当您从大样本中估计 musigmapCov 时,计算的界限会给出所需的大致置信水平。

替代功能

  • normcdf 是正态分布特有的函数。Statistics and Machine Learning Toolbox™ 还提供泛型函数 cdf,它支持各种概率分布。要使用 cdf,请创建一个 NormalDistribution 概率分布对象,并将该对象作为输入参量传递,或指定概率分布名称及其参数。请注意,分布特有的函数 normcdf 比泛型函数 cdf 的执行速度要快。

  • 使用 Probability Distribution Function 为概率分布创建累积分布函数 (cdf) 或概率密度函数 (pdf) 的交互图。

参考

[1] Abramowitz, M., and I. A. Stegun. Handbook of Mathematical Functions. New York: Dover, 1964.

[2] Evans, M., N. Hastings, and B. Peacock. Statistical Distributions. 2nd ed., Hoboken, NJ: John Wiley & Sons, Inc., 1993.

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出