我是 MATLAB 的初学者,试图用它来帮助我理解随机信号,我正在做一些正态概率密度函数计算,直到遇到这个问题:
编写一个 MATLAB 程序来计算Pr(x1 ≤ X ≤ x2)
如果 X 是任意x1
和的高斯随机变量的概率x2
。
请注意,您必须指定高斯随机变量的mean
和variance
。
我通常使用内置normpdf
函数当然选择我的均值和方差,但是对于这个,因为它有一个范围,我不确定我能做些什么来找到答案
Y = normpdf(X,mu,sigma)
我是 MATLAB 的初学者,试图用它来帮助我理解随机信号,我正在做一些正态概率密度函数计算,直到遇到这个问题:
编写一个 MATLAB 程序来计算Pr(x1 ≤ X ≤ x2)
如果 X 是任意x1
和的高斯随机变量的概率x2
。
请注意,您必须指定高斯随机变量的mean
和variance
。
我通常使用内置normpdf
函数当然选择我的均值和方差,但是对于这个,因为它有一个范围,我不确定我能做些什么来找到答案
Y = normpdf(X,mu,sigma)
如果您从概率论中回想一下,您就会知道累积分布函数总结了从-infinity
直到某个点的概率x
。具体而言,在某一点评估随机变量F(x)
的概率分布的 CDF定义为:P
X
x
请注意,我假设我们正在处理离散情况。另外,我们称其为左尾和,因为它将分布左侧到点 的所有概率相加x
。因此,这定义了曲线下方直到点的区域x
。
现在,您的问题是要找到某个范围之间的概率x1 <= x <= x2
,而不仅仅是使用左尾和 ( <= x
)。现在,如果x1 <= x2
,这意味着端点所在的总面积x2
,或直到并包括 的所有事件的概率x2
,也是定义在 的端点所定义的面积的一部分x1
。因为您想要某个范围之间的概率,所以您需要累积在x1
和之间发生的所有事件,x2
因此您需要在此范围之间的 PDF 曲线下面积。此外,您希望拥有大于x1
和小于的面积x2
。
这是一个图形示例:
上图为高斯分布函数的 PDF,下图为高斯分布的 CDF。您会看到,如果x1 <= x2
,点 定义的区域x1
也被点 捕获x2
。这是一个更好的图表:
这里的 CDF 是连续的而不是离散的,但结果还是一样的。如果您想要两个区间之间的区域以及两个范围之间的最终概率,则需要在 处取 CDF 值x2
并减去在 处的 CDF 值x1
。您想要剩余的区域,因此您只需减去CDF 值并最终减去左尾区域,因此:
因此,要计算高斯分布的 CDF,请使用normcdf
并指定高斯分布的均值和标准差。因此,您只需要这样做:
y = normcdf(x2, mu, sigma) - normcdf(x1, mu, sigma);
x1
并且x2
是您要计算概率总和的区间值。
你可以使用erf
,
mu = 5;
sigma = 3;
x1 = 3;
x2 = 8;
p = .5*(erf((x2-mu)/sigma/2^.5) - erf((x1-mu)/sigma/2^.5));
error function
在 MATLAB 中是这样定义的,