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

一. 卡方分布

1.1 数学理论

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

P_\Gamma(x)=\begin{cases} \frac{\lambda^ax^{a-1}}{\Gamma(a)}e^{-\lambda x},\quad &x\geq 0 \\ 0,\quad &x<0 \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 &x<0 \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&x<0 \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 & x<0 \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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/279253.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

利用 PEB_LDR_DATA 结构枚举进程模块信息

1. 引言 我们常常通过很多方法来获取进程的模块信息&#xff0c;例如 EnumProcessModules 函数、CreateToolhelp32Snapshot 函数、WTSEnumerateProcesses 函数、ZwQuerySystemInformation 函数等。但是调用这些接口进行模块枚举的原理是什么我们并不知道。通过学习 PEB 中 PEB…

polar CTF上传

1、题目 2、经过测试.htaccess绕过 三行代码解析&#xff1a; 将上传的.jpg文件解析成php文件 auto_append_file包含上传的文件 将上传的文件进行解码 AddType application/x-httpd-php .jpg php_value auto_append_fi\ le "php://filter/convert.base64-decode/resourc…

数据结构与算法-排序

&#x1f31e;入冬 时寒 添衣 勿病 要开心 排序 &#x1f388;1.排序的基本概念&#x1f388;2.排序的分类&#x1f52d;2.1插入排序&#x1f50e;2.1.1直接插入排序&#x1f50e;2.1.2折半插入排序&#x1f50e;2.1.3希尔排序 &#x1f52d;2.2交换排序&#x1f50e;2.2.1冒泡…

Python中的并发编程(7)异步编程

异步编程 Python3.4后新增了asyncio模块&#xff0c;支持异步编程。 异步是在一个线程中通过任务切换的方式让多个任务”同时“进展。asyncio不涉及线程/进程切换&#xff0c;减少了线程/进程创建、上下文切换的开销&#xff0c;更轻量级。 asyncio的核心是事件循环&#xff0…

【设计模式】外观模式

文章目录 前言一、外观模式1.案例2.优缺点3.使用场景4.源码解析 总结 前言 【设计模式】外观模式 一、外观模式 有些人可能炒过股票&#xff0c;但其实大部分人都不太懂&#xff0c;这种没有足够了解证券知识的情况下做股票是很容易亏钱的&#xff0c;刚开始炒股肯定都会想&am…

c语言:把二维数组降至一维|练习题

一、题目 把二维数组降为一围数组 如图&#xff1a; 二、代码截图【带注释】 三、源代码【带注释】 #include <stdio.h> int main() { int arr2[3][3];//设置二维数组 int arr1[10];//设置一维数组 int z0;//一维数组自增量 printf("输入一个二维数…

面试算法78:合并排序链表

题目 输入k个排序的链表&#xff0c;请将它们合并成一个排序的链表。 分析&#xff1a;利用最小堆选取值最小的节点 用k个指针分别指向这k个链表的头节点&#xff0c;每次从这k个节点中选取值最小的节点。然后将指向值最小的节点的指针向后移动一步&#xff0c;再比较k个指…

Net6 Core webApi发布到IIS

Net6 Core Api发布到IIS不同于webapi&#xff0c;依赖框架不同&#xff0c;配置也移至项目内Program.cs 一、发布到指定文件夹和IIS&#xff0c;不过注意IIS应用程序池选择的是 “无托管代码“ 在IIS管理器中点击浏览&#xff0c;访问接口路径报500.19&#xff0c;原因是所依赖…

【并发设计模式】聊聊线程本地存储模式如何实现的线程安全

前面两篇文章&#xff0c;通过两阶段终止的模式进行优雅关闭线程&#xff0c;利用数据不变性的方式保证数据安全&#xff0c;以及基于COW的模式&#xff0c;保证读数据的安全。本篇我们来简述下如果利用线程本地存储的方式保证线程安全。 首先一个大前提就是并发问题&#xff…

Python:将print内容写入文件

简介&#xff1a;print函数是Python中使用频率非常非常高的函数&#xff0c;其包含四个参数&#xff1a;sep、end、file、flush。 历史攻略&#xff1a; Python基础&#xff1a;输入、输出 Python&#xff1a;将控制台输出保存成文件 参数解析&#xff1a; print()函数可以…

07-项目打包 React Hooks

项目打包 项目打包是为了把整个项目都打包成最纯粹的js&#xff0c;让浏览器可以直接执行 打包命令已经在package.json里面定义好了 运行命令&#xff1a;npm run build&#xff0c;执行时间取决于第三方插件的数量以及电脑配置 打包完之后再build文件夹下&#xff0c;这个…

基于JavaSpringboot+Vue实现前后端分离房屋租赁系统

基于JavaSpringbootVue实现前后端分离房屋租赁系统 作者主页 500套成品系统 联系客服任你挑选 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目录 基于JavaSpringbootVue实现前后端分离房屋租赁系统前言介绍&#xff1a;功能设计&#xf…

JavaWeb——前端之JSVue

接上篇笔记 4. JavaScript 概念 跨平台、面向对象的脚本语言&#xff0c;使网页可交互与Java语法类似&#xff0c;但是不需要变异&#xff0c;直接由浏览器解析1995年Brendan Eich发明&#xff0c;1997年成为ECMA标准&#xff08;ECMA制定了标准化的脚本程序设计语言ECMAScr…

杰发科技AC7840——EEPROM初探

0.序 7840和7801的模拟EEPROM使用不太一样 1.现象 按照官方Demo&#xff0c;在这样的配置下&#xff0c;我们看到存储是这样的&#xff08;连续三个数字1 2 3&#xff09;。 使用串口工具的多帧发送功能 看不出多少规律 修改代码后 发现如下规律&#xff1a; 前四个字节是…

HarmonyOS page生命周期函数讲解

下面 我们又要看一个比较重要的点了 页面生命周期 页面组件有三个生命周期 onPageShow 页面显示时触发 onPageHide 页面隐藏时触发 onBackPress 页面返回时触发 这里 我们准备两个组件 首先是 index.ets 参考代码如下 import router from ohos.router Entry Component struc…

06-C++ 类和对象-多态

类与对象 多态 1. 简介 一个事物的多种形态&#xff0c;简称多态。 物的多态 同一个人在不同人面前&#xff0c;角色不同 如&#xff1a; 在父母面前在对象面前在朋友面前在同事面前 事的多态 同一种事情&#xff0c;在不同情况下展现不同 如&#xff1a; 吃饭 中国人 筷子 …

NXP实战笔记(一):基于RTD-SDK新建一个S32DS工程

目录 1、概述 2、操作步骤 2.1、新建Application工程 2.2、命名工程、选择芯片型号、选择编译器GCC版本 2.3、配置基本参数 3、文件描述 3.1、文件结构描述 3.2、编译之后 4、下载调试 1、概述 安装了S32DS之后&#xff0c;导入SDK插件&#xff0c;这个步骤不赘述&…

世界经济论坛制定了五项指导原则,实现跨OT环境的网络安全。

内容概述&#xff1a; 世界经济论坛在其题为“解锁工业环境中的网络弹性&#xff1a;五项原则”的报告中列出&#xff1a;原则一&#xff1a;执行全面风险管理OT 环境、原则二&#xff1a;确保OT工程师和安装操作员对OT网络安全负责、原则三&#xff1a;与高层组织领导、战略规…

传感器原理与应用复习--光电式与半导体式传感器

文章目录 上一篇光电传感器光电器件 光纤传感器光纤传感器的工作原理及组成 半导体传感器下一篇 上一篇 光电传感器 光电器件 每个光子的能量为 E h v E hv Ehv h为普朗克常数 6.626 ∗ 1 0 − 34 ( J / s ) 6.626 * 10^{-34}(J/s) 6.626∗10−34(J/s) ν \nu ν 为光…

yolov5 主要流程

1.介绍 本文包含了有关yolov5目标检测的基本流程&#xff0c;包括模型训练与模型部署&#xff0c;旨在帮助小伙伴们建立系统的认知&#x1f496;&#x1f496; YOLO是 "You only look once "的首字母缩写&#xff0c;是一个开源软件工具&#xff0c;它具有实时检测…