MATLAB中cdf函数用法

目录

语法

说明

示例

通过指定分布名称和参数计算正态分布 cdf

使用分布对象计算正态分布 cdf

计算泊松分布 cdf

绘制标准正态分布 cdf

绘制 gamma 分布 cdf

对 t 分布进行帕累托尾拟合,并计算 cdf


        cdf函数的功能是计算累积分布函数值。

语法

y = cdf(name,x,A)
y = cdf(name,x,A,B)
y = cdf(name,x,A,B,C)
y = cdf(name,x,A,B,C,D)
y = cdf(pd,x)
y = cdf(___,'upper')

说明

        y = cdf(name,x,A) 基于 x 中的值计算并返回由 name 和分布参数 A 指定的单参数分布族的累积分布函数 (cdf) 值。

        y = cdf(name,x,A,B) 基于 x 中的值计算并返回由 name 以及分布参数 A 和 B 指定的双参数分布族的 cdf。

        y = cdf(name,x,A,B,C) 基于 x 中的值计算并返回由 name 以及分布参数 A、B 和 C 指定的三参数分布族的 cdf。

        y = cdf(name,x,A,B,C,D) 基于 x 中的值计算并返回由 name 以及分布参数 A、B、C 和 D 指定的四参数分布族的 cdf。

        y = cdf(pd,x) 基于 x 中的值计算并返回概率分布对象 pd 的 cdf。

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

示例

通过指定分布名称和参数计算正态分布 cdf

        通过指定分布名称 'Normal' 和分布参数,计算正态分布的 cdf 值。

        定义输入向量 x 以包含用于计算 cdf 的值。

x = [-2,-1,0,1,2];

        计算均值 μ 等于 1、标准差 σ 等于 5 的正态分布的 cdf 值。

mu = 1;
sigma = 5;
y = cdf('Normal',x,mu,sigma)
y = 1×5

    0.2743    0.3446    0.4207    0.5000    0.5793

        y 中的每个值对应于输入向量 x 中的一个值。例如,在值 x 等于 1 时,对应的 cdf 值 y 等于 0.5000。

使用分布对象计算正态分布 cdf

        创建一个正态分布对象,并使用该对象计算正态分布的 cdf 值。

        创建均值 μ 等于 1、标准差 σ 等于 5 的正态分布对象。

mu = 1;
sigma = 5;
pd = makedist('Normal','mu',mu,'sigma',sigma);

        定义输入向量 x 以包含用于计算 cdf 的值。

x = [-2,-1,0,1,2];

        基于 x 中的值计算正态分布的 cdf 值。

y = cdf(pd,x)
y = 1×5

    0.2743    0.3446    0.4207    0.5000    0.5793

        y 中的每个值对应于输入向量 x 中的一个值。例如,在值 x 等于 1 时,对应的 cdf 值 y 等于 0.5000。

计算泊松分布 cdf

        创建一个泊松分布对象,使用的速率参数 λ 等于 2。

lambda = 2;
pd = makedist('Poisson','lambda',lambda);

        定义输入向量 x 以包含用于计算 cdf 的值。

x = [0,1,2,3,4];

基于 x 中的值计算泊松分布的 cdf 值。

y = cdf(pd,x)
y = 1×5

    0.1353    0.4060    0.6767    0.8571    0.9473

        y 中的每个值对应于输入向量 x 中的一个值。例如,在值 x 等于 3 时,对应的 cdf 值 y 等于 0.8571。

        也可以不创建概率分布对象而直接计算同样的 cdf 值。使用 cdf 函数,并使用相同的速率参数值指定泊松分布,λ。

y2 = cdf('Poisson',x,lambda)
y2 = 1×5

    0.1353    0.4060    0.6767    0.8571    0.9473

        cdf 值与使用概率分布对象计算的值相同。

绘制标准正态分布 cdf

        创建一个标准正态分布对象。

pd = makedist('Normal')
pd = 
  NormalDistribution

  Normal distribution
       mu = 0
    sigma = 1

        指定 x 值并计算 cdf。

x = -3:.1:3;
p = cdf(pd,x);

        绘制标准正态分布的 cdf。

plot(x,p)

如图所示:

绘制 gamma 分布 cdf

        创建三个 gamma 分布对象。第一个使用默认参数值。第二个指定 a = 1 和 b = 2。第三个指定 a = 2 和 b = 1。

pd_gamma = makedist('Gamma')
pd_gamma = 
  GammaDistribution

  Gamma distribution
    a = 1
    b = 1

pd_12 = makedist('Gamma','a',1,'b',2)
pd_12 = 
  GammaDistribution

  Gamma distribution
    a = 1
    b = 2

pd_21 = makedist('Gamma','a',2,'b',1)
pd_21 = 
  GammaDistribution

  Gamma distribution
    a = 2
    b = 1

        指定 x 值,并计算每个分布的 cdf。

x = 0:.1:5;
cdf_gamma = cdf(pd_gamma,x);
cdf_12 = cdf(pd_12,x);
cdf_21 = cdf(pd_21,x);

        创建一个绘图,该绘图用于可视化在为形状参数 a 和 b 指定不同值时 gamma 分布的 cdf 如何变化。

figure;
J = plot(x,cdf_gamma);
hold on;
K = plot(x,cdf_12,'r--');
L = plot(x,cdf_21,'k-.');
set(J,'LineWidth',2);
set(K,'LineWidth',2);
legend([J K L],'a = 1, b = 1','a = 1, b = 2','a = 2, b = 1','Location','southeast');
hold off;

如图所示:

对 t 分布进行帕累托尾拟合,并计算 cdf

        对累积概率为 0.1 和 0.9 的 t 分布进行帕累托尾拟合。

t = trnd(3,100,1);
obj = paretotails(t,0.1,0.9);
[p,q] = boundary(obj)
p = 2×1

    0.1000
    0.9000

q = 2×1

   -1.8487
    2.0766

        基于 q 中的值计算 cdf。

cdf(obj,q)
ans = 2×1

    0.1000
    0.9000

替代功能

  • ​cdf 是泛型函数,它按名称 name 或概率分布对象 pd 接受分布。使用分布特有的函数更快,例如正态分布特有的 normcdf,二项分布特有的 binocdf。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值