基于MATLAB的卡方分布,瑞利分布,T与F分布(附完整代码与例题)

您所在的位置:网站首页 概率密度和概率密度函数怎么相互求解 基于MATLAB的卡方分布,瑞利分布,T与F分布(附完整代码与例题)

基于MATLAB的卡方分布,瑞利分布,T与F分布(附完整代码与例题)

2024-07-16 10:45| 来源: 网络整理| 查看: 265

一. 卡方分布 1.1 数学理论

首先我们来看下伽玛分布的概率密度函数:

P_\Gamma(x)=\begin{cases} \frac{\lambda^ax^{a-1}}{\Gamma(a)}e^{-\lambda x},\quad &x\geq 0 \\ 0,\quad &x0 \end{cases}

其中:

\Gamma(a)=\int_0^\infty x^{a-1}e^{-x}dx

a=k/2,\lambda=1/2,就可以得到一个新的分布,这个分布在概率论上被叫做卡方分布。卡方分布也可以写做\mathcal{X}^2分布。其概率密度函数则为:

P(x)=\begin{cases} \frac{1}{2^{\frac{k}{2}}\Gamma(\frac{k}{2})}x^{\frac{k}{2}-1}e^{-\frac{x}{2}},\quad &x\geq 0 \\ 0,\quad &x0 \end{cases}

卡方分布要求参数k为正整数。

1.2 MATLAB函数 y=chi2pdf(x,k) %卡方分布概率密度函数 F=chi2cdf(x,k) %卡方分布概率分布函数 x=chi2inv(F,k) %逆卡方分布概率分布函数

有关概率密度函数和概率分布函数的区别,可以看这篇博客:

基于MATLAB的泊松分布,正态分布与伽玛分布(附完整代码与例题)-CSDN博客

1.3 例题

分别绘制出k为1,2,3,4,5时\mathcal{X}^2分布的概率密度函数与分布函数曲线。

MATLAB代码:

x=[-eps:-0.02:-0.5,0:0.02:2]; %画图x轴,其中0.02代表画点间隔 x=sort(x'); %对列向量x'进行升序排列 k1=[1,2,3,4,5]; y1=[]; y2=[]; for i=1:length(k1) y1=[y1,chi2pdf(x,k1(i))]; y2=[y2,chi2cdf(x,k1(i))]; end plot(x,y1), figure; plot(x,y2)

概率密度函数:

分布函数曲线:

二. T分布 2.1 数学理论

T分布的概率密度函数为:

p(x)=\frac{\Gamma(\frac{k+1}{2})}{\sqrt{k\pi}\Gamma(\frac{k}{2})}(1+\frac{x^2}{k})^{-\frac{k+1}{2}}

其中k为参数,且要求k为正整数。

2.2 MATLAB函数 y=tpdf(x,k) %T分布概率密度函数 F=tcdf(x,k) %T分布概率分布函数 x=tinv(F,k) %逆T分布概率分布函数 2.3 例题

分别绘制出k为1,2,5,10时T分布的概率密度函数与分布函数曲线。

MATLAB代码:

x=[-5:0.02:5]'; k1=[1,2,5,10]; y1=[]; y2=[]; for i=1:length(k1) y1=[y1,tpdf(x,k1(i))]; y2=[y2,tcdf(x,k1(i))]; end plot(x,y1), figure; plot(x,y2)

运行结果:

三. 瑞利分布(Rayleigh分布) 3.1 数学理论

Rayleigh分布的概率密度函数为:

p(x)=\left\{\begin{matrix} \frac{x}{b^2}e^{-\frac{x^2}{2b^2}}\quad &x\geq 0\\ 0&x0 \end{matrix}\right.

3.2 MATLAB函数 y=raylpdf(x,b) %瑞利分布概率密度函数 F=raylcdf(x,b) %瑞利分布概率分布函数 x=raylinv(F,b) %逆瑞利分布概率分布函数 3.3 例题

分别绘制b=0.5,1,3,5时Rayleigh分布的概率密度函数与分布函数曲线。

MATLAB代码:

x=[-eps:-0.02:-0.5,0:0.02:5]; x=sort(x'); b1=[.5,1,3,5]; y1=[]; y2=[]; for i=1:length(b1) y1=[y1,raylpdf(x,b1(i))]; y2=[y2,raylcdf(x,b1(i))]; end plot(x,y1), figure; plot(x,y2)

运行结果:

四. F分布 4.1 数学理论

F分布的概率密度函数为:

p(x)=\left\{\begin{matrix} \frac{\Gamma(\frac{p+q}{2})}{\Gamma(\frac{p}{2})\Gamma(\frac{q}{2})}p^{\frac{p}{2}}q^{\frac{q}{2}} x^{\frac{p}{2}-1}(p+qx)^{-\frac{p+q}{2}}& x\geq 0\\ 0 & x0 \end{matrix}\right.

其中p和q均为参数,且为正整数。

4.2 MATLAB函数 y=fpdf(x,p,q) %F分布概率密度函数 F=fcdf(x,p,q) %F分布概率分布函数 x=flinv(F,p.q) %逆F分布概率分布函数 4.3 例题

分别绘制(p,q)为(1,1),(2,1),(3,1),(3,2),(4,1)时F分布的概率密度函数与分布函数曲线。

MATLAB代码:

x=[-eps:-0.02:-0.5,0:0.02:1]; x=sort(x'); p1=[1 2 3 3 4]; q1=[1 1 1 2 1]; y1=[]; y2=[]; for i=1:length(p1) y1=[y1,fpdf(x,p1(i),q1(i))]; y2=[y2,fcdf(x,p1(i),q1(i))]; end plot(x,y1), figure; plot(x,y2)

运行结果:

五. 概率问题小结

(-\infty,x)之内的概率之和:

P[\xi\leq x]=F(x)

x_1\sim x_2之间的概率:

P[x_1\leq \xi\leq x_2]=F(x_2)-F(x_1)

(x,\infty)之间的概率之和:

P[\xi\geq x]=1-F(x)

可以观察到以上三个概率范围都可以直接调用cdf函数解决。

例题1

已知某随机变量x为Rayleigh分布,且b=1,分别求出该随机变量x值落入区间[0.2,2]及区间[1,\infty]的概率。

解:

MATLAB代码:

b=1; p1=raylcdf(0.2,b); %负无穷大到0.2的概率之和 p2=raylcdf(2,b); %负无穷大到2的概率之和 P1=p2-p1 %0.2~2之间的概率 p1=raylcdf(1,b); P2=1-p1 %1~正无穷大概率之和

运行结果:

P1 =

    0.8449

P2 =

    0.6065  

例题2

二维随机变量(x,y)的联合概率密度为:

p(x,y)=\left\{\begin{matrix} x^2+\frac{xy}{3} &0\leq x\leq 1,\ 0\leq y\leq 2 \\ 0& otherwise \end{matrix}\right.

求条件概率P(x\frac{1}{2}|y\frac{1}{2})

解:

写代码之前,我们先简单分析下。条件概率公式告诉我们,其等于联合概率除以P(y),可得:

P(x\frac{1}{2}|y\frac{1}{2})=\frac{P(x\frac{1}{2},y\frac{1}{2})}{P(y\frac{1}{2})}

观察题目给的联合概率密度发现,x概率有效的部分只有0~1/2,y概率有效的部分也是只有0~1/2。好了,接下来,我们只需要借助MATLAB代码求出这两个概率,再相除即可:

syms x y; %声明变量 f=x^2+x*y/3; P1=int(int(f,x,0,1/2),y,0,1/2); %分子部分的联合概率 P2=int(int(f,x,0,1),y,0,1/2) ;%求分母部分,y的概率。x此时为全概率 P=P1/P2

运行结果:

P =   5/36



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3