概率论问题MATLAB仿真求解程序
概率论和数理统计的Matlab 实现
expcdf 函数 功能:计算累加指数分布函数。 语法:P = expcdf(X,MU) 描述:expcdf(X,MU) 计算参数为 MU 的数据 X 的累加指数分布函数。指数 MU 必须为
正。 累加指数分布函数的计算公式为:
概率论和数理统计的 Matlab 实现
1概 述
自然界和社会上会发生各种各样的现象,其中有的现象在一定条件下是一定要发生的, 有的则表现出一定的随机性,但总体上又有一定的规律可循。一般称前者为确定性事件, 后者为不确定性事件(或称随机事件)。概率论和数理统计就是研究和揭示不确定事件统计 规律性的一门数学学科。
f (x |l) =
lx x!
e-l
I (0,1,K )
(x)
y=
f (x | b) =
x b2
çæ - x 2 ÷ö
eçè 2b2 ÷ø
y
=
f
(x
| v)
=
Gçæ è
v
+ 2
1
÷ö ø
Gçæ è
v 2
÷ö ø
1
1
vp
ççèæ1 +
v +1
x2 v
÷÷øö
2
y=
f (x | N) =
1 N
I (1,..., N ) ( x)
y
=f(x|r,p)
=
ççèæ
r
+
x x
+
1÷÷øö
p
x
q
x
I
(
0,1,...)
(
x)
其中, q = 1 - p
数学试验四概率论一用MATLAB计算随机变量的分布1用
数学实验四(概率论)一.用MATLAB 计算随机变量的分布1.用MA TLAB 计算二项分布当随变量(),X B n p 时,在MATLAB 中用命令函数(,,)Px binopdf X n p =计算某事件发生的概率为p 的n 重贝努利试验中,该事件发生的次数为X 的概率。
例1 在一级品率为0.2的大批产品中,随机地抽取20个产品,求其中有2个一级品的概率。
解 在MATLAB 中,输入 >>clear>> Px=binopdf(2,20,0.2) Px =0.1369即所求概率为0.1369。
2.用MA TLAB 计算泊松分布当随变量()X P λ 时,在MATLAB 中用命令函数(,)P poisspdf x lambda =计算服从参数为lambda 的泊松分布的随机变量取值x 的概率。
用命令函数(,)P poisscdf x lambda =计算服从参数为lambda 的泊松分布的随机变量在[]0,x 取值的概率。
例2 用MATLAB 计算:保险公司售出某种寿险保单2500份.已知此项寿险每单需交保费120元,当被保人一年内死亡时,其家属可以从保险公司获得2万元的赔偿(即保额为2万元).若此类被保人一年内死亡的概率0.002,试求:(1)保险公司的此项寿险亏损的概率;(2)保险公司从此项寿险获利不少于10万元的概率; (3)获利不少于20万元的概率.利用泊松分布计算. 25000.0025np λ==⋅= (1) P(保险公司亏本)=()()15250025000(3020)1(15)10.0020.998kkk k P X P X C -=-<=-≤=-⋅∑=155051!k k e k -=-∑在MATLAB 中,输入 >> clear>> P1=poisscdf(15,5) P1 =0. 9999即 15505!k k e k -=∑= P1 =0.9999故 P(保险公司亏本)=1-0.9999=0.0001 (2) P(获利不少于10万元)=()()10102500250025000(30210)(10)0.0020.998k kk kk k P X P X CC -==-≥=≤=⋅≈∑∑ =10505!k k e k -=∑ 在MATLAB 中,输入 >>P=poisscdf(10,5) P =0.9863即 10505!k k e k -=∑=0.9863(3) P(获利不少于20万元)=()()525002500(30220)(5)0.0020.998k kk k P X P X C-=-≥=≤=⋅∑ =5505!k k e k -=∑ 在MATLAB 中,输入 >>P=poisscdf(5,5) P =0.6160即 5505!k k e k -=∑= 0.61603.用MA TLAB 计算均匀分布当随机变量(),X U a b 时,在MATLAB 中用命令函数(),,P unifpdf x a b =计算在区间[],a b 服从均匀分布的随机变量的概率密度在x 处的值。
【个人总结系列-1】概率特性仿真实验与程序-Matlab仿真-随机数生成-负指数分布-k阶爱尔兰分布-超指数分布
概率特性仿真实验与程序-Matlab 仿真-随机数生成-负指数分布-k 阶爱尔兰分布-超指数分布使用Java 中的SecureRandom .nextDouble()生成一个0~1之间的随机浮点数,然后使用反函数法生成一个符合指数分布的随机变量(反函数求得为λ)1ln(R x --=)。
指数分布的参数λ为getExpRandomValue 函数中的参数lambda 。
生成一个指数分布的随机变量的代码如下,后面都将基于该函数生成一组负指数分布、K 阶爱尔兰分布、2阶超指数分布随机变量,然后将生成的随机数通过matlab 程序进行仿真,对随机数的分布特性进行验证。
生成一组参数为lambda (λ)的负指数分布的随机变量通过下面的函数生成一组λ参数为lambda 的随机变量,其中size 表示随机变量的个数。
通过该函数生成之后,可以将这些随机值保存在文件中,以备分析和验证,比如保存在exp.txt 文件中,供下面介绍的matlab 程序分析。
通过genExp (1000000, 0.2)生成1000000个参数为0.2的随机变量,然后保存到exp.txt 中,然后使用下面的matlab 程序对这些随机数的性质进行验证,如果这些随机数符合λ=0.2的负指数分布,则其均值应为1/λ,即1/0.2=5,其方差应为1/λ2=1/(0.2*0.2)=25。
然后对这些随机数的概率分布进行统计分析,以长度为1的区间为统计单位,统计各区间内随机数出现的频数,求出在各区间的概率,绘制图形,与参数为λ的真实负指数分布曲线进行对比。
下图为matlab 代码如下图所示,均值为4.996423,约等于5,方差为24.96761,约等于25,与实际情况相符。
此外,通过matlab统计的概率密度函数曲线与真实曲线基本重合(其中在0-1之间没有重合的原因是,实际情况是在0-1之间有无数个点,而matlab统计时以1为一个区间进行统计,只生成了一个统计项,而这无数个点的概率全部加到1点处,因此两条线没有重合,而且1点处的值远大于实际值,如果统计单位划分越细,0-1之间的拟合度更高),表明生成的随机数符合负指数分布。
实验5(2)-概率统计问题的Matlab求解资料
即: a = –2.032, c= 0.148 则模型:y = – 2.032 + 0.148 x R2=0.9928 , F=1101.878 ,P=0 由R2和F 表明拟合效果很好! (5)预报 当X=108时,Y= 13.952亿; 当X=110时,Y=14.248亿
故
回归模型为
y 13.1501x2 217.8686x 175.6217.
的回归关系,收集数据:
年份 1971 1972 1973 1974 1975 1976
火柴销量 y(万件) 17.84 18.27 20.29 22.61 26.71 31.19
一元多项式回归
(3)结果分析 p =-0.2003 8.9782 -72.2150
a 72.2150。 即 a2 0.2003, a1 8.9782, 0
则二次模型为:
y a2 x 2 a1 x a0 0.2003 x 2 8.9782 x 72.2150
数学实验 概率统计问题的Matlab求解
——回归分析
实验目的
熟练掌握Matlab编程中一元线性回归、多 元线性回归、一元多项式回归、非线性回归 等语句的调用格式 会用Matlab对各种数据样本进行回归分析, 并分析回归结果,对回归进行评价。 对实际问题,能够进行数据样本的分析,选 用哪种方式进行回归模拟,依该回归进行预 测。
x1=[17.84,27.43,21.43,11.09,25.78;18.27,29.95,24.96,... 14.48,28.16;20.29,33.53,28.37,16.97,24.26;22.61,37.31,... 42.57,20.16,30.18;26.71,41.16,45.16,26.39,17.08;31.19,... 45.73,52.46,27.04,7.39;30.5,50.59,45.3,23.08,3.88;29.63,... 58.82,46.8,24.46,10.53;29.69,65.28,51.11,33.82,20.09;... 29.25,71.25,53.29,33.57,21.22]; x=[ones(size(x1(:,1))),x1(:,2:5)];y=x1(:,1); [b,bint,r,rint,stats]=regress(y,x,0.05)
概率学中MATLAB的基本使用
• 9 4 16 • 为了便于比较, 下面列出矩阵的幂运算.
• 例 1-13 与数组幂运算比较, 进行矩阵的幂运算. • a = [1 3 4; 2 6 5; 3 2 4]; • c = a^2 • c= • 19 29 35 • 29 52 58 • 19 29 38 • 例 1-14 进行数组与数组的幂运算. • 在命令窗口中输入: • a = [1 3 4; 2, 6, 5; 3 2, 4]; • b = [2 3 1; 4 1 2; 4 5 3]; • c = a.^b • 回车后显示: • c= • 1 27 4 • 16 6 25 • 81 32 64 • 上面两数组的幂运算为数组中各对元素间的运算.
• b = [10 20 30] ';
• x = b\a
%对于方程 Ax = b, A 不存在逆矩阵.
• 回车后显示:
• x=
• 1.6286
• 1.2571
• 1.1071
• 1.0500
• 上例的方程 Ax =b 为不定情况. 它有三个方程、四个未知量, 理论上有无穷多解. 这里的解是使解中范数最小的一个.
% 将区间[1,3]以 0.5 为步长等分, 赋给变量
a2.
回车后显示:
a2 =
1.0000 1.5000 2.0000 2.5000 3.0000
当步长为 1时, 还可以省略步长.
(3) 列向量的输入
(a) 直接输入: 数据放在方括号“[ ]”内,其间加分号“;”分行.
例 1-4 在命令窗口中输入:
•365
•677
•777
• d=
• 0.5000 1.0000 4.0000
• 0.5000 6.0000 2.5000
实验5(1)-概率统计问题的Matlab求解.
参数估计
例2. 分别使用金球和铂球测定引力常数 (1)用金球测定观察值为:6.683 6.681 6.676 6.678 6.679 6.672 (2)用铂球测定观察值为:6.661 6.661 6.667 6.667 6.664 设测定值总体为 ,μ和σ为未知。对(1)、 (2)两种情况分别求μ和σ的置信度为0.9的置信区 间。
解:需要检验假设 H 0 : 1 2 0 H1 : 1 2 0 X=[78.1 72.4 76.2 74.3 77.4 78.4 76.0 75.5 76.7 77.3]; Y=[79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1]; [h,sig,ci]=ttest2(X,Y,0.05,-1) 结果显示为: h= 1 sig = 2.1759e-004 %说明两个总体均值相等的概率很小 ci = -Inf -1.9083 结果表明:h=1表示在 0.05 水平下,应该拒绝原假设,即 认为建议的新操作方法提高了产率,因此,比原方法好。
由上可知,金球测定的μ估计值为6.6782,置信 区间为[6.6750,6.6813]; σ的估计值为0.0039,置信区间为[0.0026, 0.0081]。 泊球测定的μ估计值为6.6640,置信区间为 [6.6611,6.6669]; σ的估计值为0.0030,置信区间为[0.0019, 0.0071]。
例 5 一道工序用自动化车床连续加工某种零件,由于刀具 损坏等会出现故障.故障是完全随机的,并假定生产任一零 件时出现故障机会均相同 .工作人员是通过检查零件来确定 工序是否出现故障的 . 现积累有 100 次故障纪录,故障出现 时该刀具完成的零件数如下:
459 612 926 527 775 402 699 447 621 764 362 452 653 552 859 960 634 654 724 558 624 434 164 513 755 885 555 564 531 378 542 982 487 781 49 610 570 339 512 765 509 640 734 474 697 292 84 280 577 666 584 742 608 388 515 837 416 246 496 763 433 565 428 824 628 473 606 687 468 217 748 706 1153 538 954 677 1062 539 499 715 815 593 593 862 771 358 484 790 544 310 505 680 844 659 609 638 120 581 645 851
概率论问题MATLAB仿真求解程序
clc; clear; close all; a=10; b=3; p=0.55; S=0; N=10000; m=6; %甲的赌本 %乙的赌本 %甲赢的概率 % 计数设置为0 % 模拟次数 %设定随机数状态值(1 2 3 4 5 6 ),改变这个值可以进行不同的实验
%针与线相交则记数
运行结果
Pi_m_mean=mean(Pi_m)%显示 N 次迭代之后的圆周率 pi 均值
P_mean =0.318250000000000 Pi_m_mean =3.142648986529731
赌徒输光问题
两个赌徒甲、乙两人将进行一系列赌博。在每一局中甲获胜的概率为 p , 而乙获胜的概率为 q ( p + q = 1 )。在每一局后,失败者都要支付一元线给 胜利者。在开始时甲拥有赌本 a 元,而乙拥有赌本 b 元,两个赌徒直到甲 输光或乙输光为止。求甲输光的概率。
MATLAB实现Buffon问题仿真求解程序
程序1பைடு நூலகம்
clear all; L=1; d=2; m=0; n=10000; for k=1:n x=unifrnd(0,d/2); p=unifrnd(0,pi); if x<=L*sin(p)/2 m=m+1; else end end p=vpa(m/n,4) %针的长度; %平行线间的距离(d>L); %统计满足针与线相交条件的次数并赋初值; %投针试验次数 %迭代次数 %随机产生数的长度,即投针之后针中点与平行线的距离 %随机产生的针与线相交的角度 %针与线相交的条件 %针与线相交则记数
P =0.0676 Po =0.0656
Binomial(二项分布)的使用
matlab仿真算法流程
matlab仿真算法流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!1. 问题定义与分析:明确要解决的问题或研究的系统。
确定输入和输出变量。
Matlab在《概率论与数理统计》教学中的应用
Matlab在《概率论与数理统计》教学中的应用概率论是《概率论与数理统计》课程中的重要部分,Matlab可以帮助学生更好地理解和应用概率论。
1. 随机数生成与概率计算Matlab可以生成符合不同分布的随机数,如正态分布、均匀分布等,并进行概率计算和统计推断。
以正态分布为例,使用命令“normrnd(mu,sigma,m,n)”可以生成一个mu为均值,sigma为标准差的n行m列的正态分布随机数矩阵。
使用函数“normpdf(x,mu,sigma)”可以计算正态分布的概率密度函数在x处的取值,使用函数“normcdf(x,mu,sigma)”可以计算正态分布的累积分布函数在x处的取值。
这些功能可以帮助学生更好地理解正态分布的概念和相关理论。
2. 离散随机变量的概率分布1. 数据描述与可视化Matlab可以帮助学生更好地进行数据描述和可视化。
使用命令“mean(x)”可以计算数据的平均值,使用命令“std(x)”可以计算数据的标准差,使用命令“hist(x)”可以绘制数据的直方图。
这些功能可以帮助学生更好地理解数据的基本特征和数据分布情况。
2. 参数估计与假设检验Matlab可以帮助学生完成参数估计和假设检验。
以t检验为例,使用命令“ttest(x,y)”可以进行两样本t检验,使用命令“ttest(x,m)”可以进行单样本t检验。
这些功能可以帮助学生更好地进行参数估计和假设检验的计算和分析。
结语综上所述,Matlab是一款重要的数学软件工具,在《概率论与数理统计》课程教学中发挥着重要的作用。
通过Matlab,学生可以更好地理解和应用概率论和数理统计的理论知识,提高他们的数据分析和计算能力。
monte carlo计算套圈概率matlab程序
Monte Carlo方法是一种通过随机抽样来解决数学问题的方法。
它的应用范围非常广泛,包括金融、物理、工程、统计学等领域。
本文主要介绍如何使用Monte Carlo方法来计算套圈概率,并给出相应的MATLAB程序。
1. 问题描述我们假设有一个正方形的围栏,内接一个圆。
现在我们随机向围栏内投掷小球,问小球落在正方形内但不在圆内的概率是多少?2. 模拟方法为了解决这个问题,我们可以使用Monte Carlo方法进行模拟。
具体步骤如下:(1) 在正方形内生成大量的随机点。
(2) 判断这些随机点是否落在圆内。
(3) 统计落在正方形内但不在圆内的点的个数。
(4) 计算概率。
3. MATLAB程序下面是用MATLAB编写的Monte Carlo程序:```matlab定义正方形和圆的参数side_length = 2; 正方形的边长radius = 1; 圆的半径生成随机点num_points = 1e6; 随机点的数量x = side_length*rand(num_points,1) - side_length/2; x坐标的范围是[-side_length/2, side_length/2]y = side_length*rand(num_points,1) - side_length/2; y坐标的范围是[-side_length/2, side_length/2]判断随机点是否落在圆内in_circle = x.^2 + y.^2 <= radius^2; 判断点是否在圆内统计落在正方形内但不在圆内的点的个数in_square_not_in_circle = sum(~in_circle);计算概率prob = in_square_not_in_circle / num_points;disp(['套圈概率为:' num2str(prob)]);上面的MATLAB程序首先定义了正方形和圆的参数,然后通过生成大量随机点,并判断这些点是否落在圆内来计算套圈概率。
概率论基础知识及其在matlab中的实现
第三章 概率论基础知识及其在matlab 中的实现概率论与应用数理统计十就是研究随机现象统计规律性的一门科学,本章学习随机 及其发生的概率,多维随机变量的分布规律,参数估计与假设检验,方差分析与回归分析等概率统计的基本方法以及它们在MATLAB 中实现方法。
3.1 随机时间及其概率3.1.1 古典概率及其模型由古典概率的定义知,古典概率基于这样两个原则:(1) 所有可能发生的结果只有有限个;(2)每一种可能出现的结果机会是相同的。
在MA TLAB 中提供了一个在[0,1]区间上均匀分布的随机函数rand,其命令格式为:命令格式1: rand(N)功能: 返回一个N N ⨯的随机矩阵命令格式2: rand(N,M)功能: 返回一个M N ⨯的随机矩阵命令格式2: rand(P1,P2,…,Pn)功能: 返回一个n P P P ⨯⨯⨯Λ21的随机矩阵可以用计算机模拟掷硬币这一过程,为了模拟硬币出现正面或反面,规定随机数小于0.5时为反面,否则为正面,可以用round ()函数将其变成0—1矩阵,然后将整个矩阵的各元素值加起来再除以总的原始个数即为出现正面的概率。
round ()函数的命令格式为:命令格式: round(x)功能:对向量或矩阵x 的每个分量四舍五入取整。
现以联系掷10000次硬币为例,重复做100次试验模拟出现正面的概率。
在matlab 中的程序如下:for i =1:100a(i) = sum(sum(round(rand(100))))/10000;endmx = max(a);mn = min(a);ma = mean(a);a, mx, mn, ma在该程序输出的四项中,a 为实验100次中每次出现正面的频率,mx 和mn 分别为100次实验中出现正面频率的最大值和最小值,ma 为100次试验出现正面的平均频率。
运行结果如下:这里要输入结果下面介绍MATLAB 中取整的几个函数命令:(1) 命令格式: fix(x)功能: 对x 朝零方向取整(2) 命令格式: floor(x)功能:对x 朝负无穷大方向取整(3) 命令格式: ceil(x)功能:对x 朝正无穷大方向取整3.1.2 统计概率及其模型由于古典概率是建立在事件发生的等可能基础上的概率,而现实生活中许多现象的出现并不是等可能的。
第3章 概率统计实例分析及MatlAb求解
第3章概率统计实例分析及MatlAb求解3.1 随机变量分布与数字特征实例及MATLAB求解3.1.1 MATLAB实现用mvnpdf和mvncdf函数可以计算二维正态分布随机变量在指定位置处的概率和累积分布函数值。
利用MATLAB统计工具箱提供函数,可以比较方便地计算随机变量的分布律(概率密度函数)、分布函数及其逆累加分布函数,见附录2-1,2-2,2-3。
MATLAB中矩阵元素求期望和方差的函数分别为mean和var,若要求整个矩阵所有元素的均方差,则要使用std2函数。
随机数生成函数:rand( )和randn( )两个函数伪随机数生成函数:A=gamrnd(a,lambda,n,m) % 生成n*m的 分布的伪随机矩阵B=raylrnd(b,n,m) %生成rayleigh的伪随机数3.1.2 相关实例求解例2-1计算服从二维正态分布的随机变量在指定范围内的累积分布函数值并绘图。
程序:%二维正态分布的随机变量在指定范围内的累积分布函数图形mu=[0 0];sigma=[0.25 0.3;0.3 1];%协方差阵x=-3:0.1:3;y=-3:0.2:3;[x1,y1]=meshgrid(x,y);%将平面区域网格化取值f=mvncdf([x1(:) y1(:)],mu,sigma);%计算累积分布函数值F=reshape(f,numel(y),numel(x));%矩阵重塑surf(x,y,F);caxis([min(F(:))-0.5*range(F(:)),max(F(:))]);%range(x)表示最大值与最小值的差,即极差。
axis([-3 3 -3 3 0 0.5]);xlabel('x'); ylabel('y');zlabel('Probability Density');图1 二维正太分布累积分布函数值图例2-2 设X 的概率密度为⎪⎪⎪⎩⎪⎪⎪⎨⎧<<-≤≤=其他。
8.7--概率统计问题的-MATLAB求解
输入命令 >> unifcdf(3,0,5)
ans = 0.6000
输出结果
输入命令 >> normcdf(90,80,6)-normcdf(69,80,6)
输出结果
ans = 0.9188
输入命令 >> 1-expcdf(100,2000)
ans = 0.9512
输出结果
8.7.2 随机变量的数字特征——数学期望与方差
输入命令 >> X=[0 1 2 3 4]; >> P=[0.1 0.2 0.3 0.2 0.2]; >> EX=sum(X.*P)
>> DX=sum(X.^2.*P)-(EX)^2
输出结果
EX = 2.2000
DX = 1.5600
输入命令 >> [E,D]=binostat(20,0.6)
E= 12 D= 4.8000
输出结果
EX = 1
DX = -1/4
输入命令 >> [E,D]=unifstat(0,10)
E= 5 D= 8.3333
输出结果
输入命令
E=
>> [E,D]=normstat(60,5)
60 D=
25
输出结果
输入命令 >> [E,D]=expstat(0.5)
E= 0.5000 D= 0.2500
第8章 MATLAB数学实验与数学建模
(四)
8.7 实验六 概率统计问题的MATLAB求解
8.7.1 几种常用的概率分布
1.离散型随机变量的概率 命令调用格式:
binopdf(k,n,p) 计算二项分布 B(n, p)中随机变量 k 的概率; binocdf(k,n,p) 计算二项分布 B(n, p)中随机变量 k 的概率; poisspdf(k, ) 计算泊松分布 P()中随机变量 k 的概率; poisscdf(k, ) 计算泊松分布 P()中随机变量 k 的概率.
概率统计的MATLAB求解
3.1 随机变量及其分布
命令4: 命令 :Px=hygepdf(x,M, N, K) 功能:总共M件产品 其中次品N 件产品, 抽取K件检查 件检查, 功能:总共 件产品,其中次品 件,抽取 件检查, 计算发现恰好x件次品的概率 计算发现恰好 件次品的概率Px=P{X=x} 件次品的概率 命令5: 命令 :stairs(x,Px) 功能: 为横坐标, 为纵坐标的阶梯平面图 为纵坐标的阶梯平面图; 功能:绘制以 x为横坐标,Px为纵坐标的阶梯平面图; 为横坐标 是分布列(或密度 当Px是分布列 或密度 时,绘制概率密度分布图; 是分布列 或密度)时 绘制概率密度分布图; 当Px是累积分布时,绘制概率分布函数图 是累积分布时, 是累积分布时 以后碰到命令末尾为: 注:以后碰到命令末尾为: rnd----产生随机数 ; cdf----产生分布函数 产生随机数X; 产生分布函数F(x) 产生随机数 产生分布函数 pdf----产生密度函数 产生密度函数p(x)或分布列 或分布列Px=P{X=x} 产生密度函数 或分布列 inv----计算 计算x=F-1(p)→ p=F (x) 计算
命令:gamcdf(x, a, lambda), gaminv(p, a, lambda) 命令 gampdf(x, a,lambda), gamrnd(a, lambda,m,n)
20112011-2-24
9
3.1 随机变量及其分布
Χ2分布
k x −1 − 1 x2 e 2 k 密度函数: f χ 2 ( x) = 2 2 Γ ( k ) 2 0
20112011-2-24
6
3.1 随机变量及其分布
指数分布X~exp(λ) 指数分布
MATLAB计算概率
MATLAB计算概率在MATLAB中,计算概率可以使用MATLAB的概率和统计工具箱。
概率是一个数学领域,主要研究随机事件发生的可能性。
在计算概率时,常见的方法包括使用概率分布函数、概率密度函数和累积分布函数等。
1.概率分布函数概率分布函数(Probability Distribution Function, PDF)用于描述随机变量的取值概率分布。
MATLAB中提供了多种常见的概率分布函数,如正态分布、均匀分布、泊松分布等。
计算概率分布函数可以使用相应的函数,例如:- 正态分布:normpdf(x, mu, sigma)计算正态分布的概率密度函数值。
- 均匀分布:unifpdf(x, a, b)计算均匀分布的概率密度函数值。
- 泊松分布:poisspdf(x, lambda)计算泊松分布的概率质量函数值。
其中x为随机变量,mu、sigma、a、b和lambda是对应分布的参数。
2.概率密度函数概率密度函数(Probability Density Function, PDF)用于描述随机变量取一些特定值的概率密度。
计算概率密度函数可以使用相应的函数,例如:- 正态分布:normpdf(x, mu, sigma)计算正态分布的概率密度函数值。
- 均匀分布:unifpdf(x, a, b)计算均匀分布的概率密度函数值。
- 泊松分布:poisspdf(x, lambda)计算泊松分布的概率质量函数值。
其中x为随机变量,mu、sigma、a、b和lambda是对应分布的参数。
3.累积分布函数累积分布函数(Cumulative Distribution Function, CDF)用于描述随机变量取值小于或等于一些特定值的概率。
计算累积分布函数可以使用相应的函数,例如:- 正态分布:normcdf(x, mu, sigma)计算正态分布的累积分布函数值。
- 均匀分布:unifcdf(x, a, b)计算均匀分布的累积分布函数值。
概率统计在MATLAB中的实现方法解析
概率统计在MATLAB中的实现方法解析概率统计是一门研究随机现象的规律性和不确定性的学科,广泛应用于各个领域。
而MATLAB是一种强大的科学计算软件,可以在概率统计领域中提供很多实用的工具和方法。
本文将探讨概率统计在MATLAB中的实现方法,帮助读者更好地理解和应用于实践。
一、概率分布的生成和拟合在概率统计中,对于一些已知的概率分布,我们常常需要生成符合该分布的随机数,或者通过已有的样本数据对分布进行拟合。
在MATLAB中,可以使用一些函数来实现这些操作。
首先,对于已知的概率分布,例如正态分布(高斯分布),可以使用normrnd()函数生成符合该分布的随机数。
该函数的输入参数包括均值和标准差,输出为符合正态分布的随机数。
例如,我们可以生成100个符合均值为0,标准差为1的正态分布随机数:```MATLABx = normrnd(0, 1, 100, 1);```对于已有的样本数据,我们可以使用fitdist()函数对数据进行概率分布的拟合。
该函数可以自动选择合适的分布类型,并给出对应的参数估计值。
例如,我们有一组样本数据x,需要对其进行正态分布的拟合:```MATLABdist = fitdist(x, 'Normal');```通过fitdist()函数返回的dist对象,我们可以获取该分布的参数估计值、置信区间等信息。
二、假设检验和置信区间估计假设检验和置信区间估计是概率统计中常用的分析方法,用于判断样本数据是否符合某个假设、计算参数估计的可信度等。
在MATLAB中,可以使用一些函数来实现假设检验和置信区间估计。
对于假设检验,MATLAB提供了ttest2()和chi2gof()等函数,用于分别进行两样本t检验和卡方检验。
例如,我们有两组样本数据x和y,需要进行两样本t检验:```MATLAB[h, p] = ttest2(x, y);```通过ttest2()函数返回的h值可以判断是否拒绝原假设,p值则表示检验结果的显著性。
【个人总结系列-1】概率特性仿真实验与程序-Matlab仿真-随机数生成-负指数分布-k阶爱尔兰分布-超指数分布
概率特性仿真实验与程序-Matlab 仿真-随机数生成-负指数分布-k 阶爱尔兰分布-超指数分布使用Java 中的SecureRandom .nextDouble()生成一个0~1之间的随机浮点数,然后使用反函数法生成一个符合指数分布的随机变量(反函数求得为λ)1ln(R x --=)。
指数分布的参数λ为getExpRandomValue 函数中的参数lambda 。
生成一个指数分布的随机变量的代码如下,后面都将基于该函数生成一组负指数分布、K 阶爱尔兰分布、2阶超指数分布随机变量,然后将生成的随机数通过matlab 程序进行仿真,对随机数的分布特性进行验证。
生成一组参数为lambda (λ)的负指数分布的随机变量通过下面的函数生成一组λ参数为lambda 的随机变量,其中size 表示随机变量的个数。
通过该函数生成之后,可以将这些随机值保存在文件中,以备分析和验证,比如保存在exp.txt 文件中,供下面介绍的matlab 程序分析。
通过genExp (1000000, 0.2)生成1000000个参数为0.2的随机变量,然后保存到exp.txt 中,然后使用下面的matlab 程序对这些随机数的性质进行验证,如果这些随机数符合λ=0.2的负指数分布,则其均值应为1/λ,即1/0.2=5,其方差应为1/λ2=1/(0.2*0.2)=25。
然后对这些随机数的概率分布进行统计分析,以长度为1的区间为统计单位,统计各区间内随机数出现的频数,求出在各区间的概率,绘制图形,与参数为λ的真实负指数分布曲线进行对比。
下图为matlab 代码如下图所示,均值为4.996423,约等于5,方差为24.96761,约等于25,与实际情况相符。
此外,通过matlab统计的概率密度函数曲线与真实曲线基本重合(其中在0-1之间没有重合的原因是,实际情况是在0-1之间有无数个点,而matlab统计时以1为一个区间进行统计,只生成了一个统计项,而这无数个点的概率全部加到1点处,因此两条线没有重合,而且1点处的值远大于实际值,如果统计单位划分越细,0-1之间的拟合度更高),表明生成的随机数符合负指数分布。
第10章 用MATLAB解决概率问题
连续型随机变量的期望
• 应用举例 • 例 17 已知随机变量X的概率
3x , 0 x 1 P( x) 0, 其它
2
求EX和E(4X-1)。
• • • • • • • • • •
程序: 解:在Matlab编辑器中建立M文件LX0817.m: syms x p_x=3*x^2; EX=int(x*p_x,0,1) EY=int((4*x-1)*p_x,0,1) 运行结果为: EX = 3/4 EY = 2
指数分布
正态分布 卡方分布 T分布 F分布
expcdf(x,lambda)
normcdf(x,mu,sigma) chi2cdf(x,n) tcdf(x,n) fcdf(x,n1,n2)
应用举例
• 例7 某公共汽车站从上午7:00起每15分钟来一班 车。若某乘客在7:00到7:30间任何时刻到达此站 是等可能的,试求他候车的时间不到5分钟的概率。
应用举例
• 例16 随机抽取6个滚珠测得直径(mm)如下: 11.70 12.21 11.90 11.91 12.32 12.32 试求样本平均值。 • 程序: >> X=[11.70 12.21 11.90 11.91 12.32 12.32];
>> mean(X)
• 则结果显示如下: ans=12.0600
(2) 方差
• 离散型随机变量的方差及样本方差 • 方差 设X的分布律为 由
PX xk Pk , k 1.2,...
D( X ) E[(X EX ) ] E( X ) E ( X )
2 2 2
则方差 DX=sum(X.^2*P)-(EX).^2
• 标准差:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
clc; clear; close all; a=10; b=3; p=0.55; S=0; N=10000; m=6; %甲的赌本 %乙的赌本 %甲赢的概率 % 计数设置为0 % 模拟次数 %设定随机数状态值(1 2 3 4 5 6 ),改变这个值可以进行不同的实验
rand('state',m); %设置随机数状态 for k=1:N; at=a;%初始化甲的赌本 bt=b;%初始化乙的赌本 while at>0.5&bt>0.5;%模拟整个赌博过程 r=[(rand<p)-0.5]*2; % 算输赢 at=at+r;%交换赌本 bt=bt-r;%交换赌本 end S=S+(at<0.5); %如甲输,累加甲输的次娄 end P=S/N %计算甲输的概率值 g=p/[1-p]; Po=[1-g^b]/[1-g^(a+b)] %返回甲输光的概率理论值
%n 次中与平行线相交的次数的频率比,即相交的概率,vpa() 以任意精度(4 位小数点,默认值为 32 位)显示出来 pi_m=vpa((2*L*n)/(m*d),15) %利用投针频率估计圆周率 pi,vpa()以任意精度(15 位小数点,默认值为 32 位)显示出来
运行结果
p =.3207 pi_m =3.11817898347365
(A)
(B)
在图(A)中,当小球从顶部向下降落时,遇到第一层竖隔板,此时小球分别向左 右下落的概率各占一半(0.5);当小球继续下落遇到第二层竖隔板时,小球仍以 左右相同的概率往下落,以后每层均如此(如图(B)所示)。最后到了第 8 层底 部,小球将落入底部 9 个槽中的一个。但是小球落入每个槽内的概率是不一样的。 如查将这个 9 个槽编号为:1、2、3、45、6、7、8、9,计算小球落入第 9 个槽中 的概率。 理论分析:这是一个经典的二项分布概率模型。考虑在第 K 层小球运动方向有两种 可能,用 X k 表示,则 X k 服从两点分布。这里用 X k = 1 表示向右侧竖隔板方向运 动,用 X k = 0 表示向左侧竖隔板方向运动,它们发生的概率均为 0.5。最终位置 X 由 X = ∑ X k 决定,即二项分布决定,上述第 8 层即有 X ~ Binomial (8, 0.5) ,上述该
P =0.0676 Po =0.0656
Binomial(二项分布)的使用
Galton板实验 一个8级Galton板实验系统如下图(A)所示 (源程序见后)和(B)所示(源程序见后)
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9
频数直方图模拟源程序
clc; close all; clear; rand('state',0) %固定随机数产生状态 R=unidrnd(2,8,10000)-1;%产生10000个1~7的随机数 test=sum(R); %对随机数求和 h=hist(test,9);%统计各数出现的频数 bpdf=binopdf(0:8,8,0.5);%计算二项分布出现各取值(即第1至第9槽内)的理论值 bpdf=bpdf/max(bpdf)*max(h);%使模拟数据与理论数据保持量级一致 b1=bar(1:9,[h;bpdf]');%绘制直方图 set(b1(2),'facecolor','r');%设置右侧的直线条填充颜色为红色 set(b1(1),'facecolor',[0.4,0.4,0.4]);%把左侧直第填充颜色设置为灰色
MATLAB实现Buffon问题仿真求解程序
程序1
clear all; L=1; d=2; m=0; n=10000; for k=1:n x=unifrnd(0,d/2); p=unifrnd(0,pi); if x<=L*sin(p)/2 m=m+1; else end end p=vpa(m/n,4) %针的长度; %平行线间的距离(d>L); %统计满足针与线相交条件的次数并赋初值; %投针试验次数 %迭代次数 %随机产生数的长度,即投针之后针中点与平行线的距离 %随机产生的针与线相交的角度 %针与线相交的条件 %针与线相交则记数
用Monte Carlo方法计算积分(随机投点法)
(B)图源程序
%Galton板实验 clear; clc; close all; figure; xlim([-1,9]); ylim([0,9]); axis equal; hold on; L=0.8; No=8;% level number for N=1:No; mN=No/2-[1+N]/2; for k=1:N; plot([mN+k]*[1,1],[0,0.7]+No-N,'k','linewidth',2); text(-0.9,No-N+0.3,num2str(N),'fontsize',14,... 'fontname','times new roman'); end end arg=linspace(0,pi*2,200); col=[0.4,0.4,0.4]; fill(No/2+1.5+0.2*cos(arg),No/2-0.5+0.2*sin(arg),col,... 'Edgecolor',col); plot([No/2-1,No/2-1,-0.5,-0.5],... [No-1+0.7,No-1,0.7,0],'k'); plot([No/2+1,No/2+1,No+0.5,No+0.5],... [No-1+0.7,No-1,0.7,0],'k'); plot([-1,No+1],[0,0],'k','linewidth',2); for k=1:No+1; text(k-1.1,0.4,num2str(k),'fontsize',14,... 'fontname','times new roman'); plot(k-1+0.24*cos(arg),0.4+0.24*sin(arg),'k'); end set(gcf,'color','w'); axis off;
下面用Matlab模拟小球下落到底部9个槽内的概率分布。在各层 中用0和1分别表示向左和向右运动。在小球下落到底层的槽内 时,一个8位的二进制数就完全确定了。而所落入槽的编号应该 是这个8位二进制数各位数按十进制数相加的结果。重复模拟小 球下落过程10000次,可以统计出小球落入各槽内的次数(即频 数)。画出9个频数数据的直方图。如下图所示(源程序见后)
k
二项分布的概率密度,可用下列程序获得:bpdf=binopdf(0:8,8,0.5) 下:
运行如
源程序 clear all; bpdf=binopdf(0:8,8,0.5) 运行结果
bpdf =0.0039 0.0312 0.1094 0.2187 0.2734 0.2187 0.1094 0.0312 0.0039 注:第1到第9个槽内的概率值,即落入第9个槽内的概率为0.0039.
程序2
clear all; N=10; P=zeros(1,N); %循环迭代次数 %赋初值,每次循环迭之后的针与线相交的概率 p 的记录值
Pi_m=zeros(1,N); %赋初值,每次循环迭之后的圆周率 pi_m 的记录值 for i=1:N L=1; d=2; m=0; n=10000; for k=1:n %针的长度 %平行线间的距离(d>L) %统计满足针与线相交条件的次数并赋初值 %投针试验次数 %迭代次数 %随机产生的针与线相交的角度 %针与线相交的充要条件
x=unifrnd(0,d/2); %随机产生数的长度,即投针之后针中点与平行线的距离 p=unifrnd(0,pi); if x<=L*sin(p)/2 m=m+1; else end end p=m/n; P(1,i)=p; i=i+1; end P=P; Pi_m=Pi_m; P_mean=mean(P) %n 次中与平行线相交的次数的频率比,即相交的概率 %记录第 i 次循环之后的相交概率值 %进入下次循环迭代 %无“;”则显示每次的相交概率值 %无“;”则显示每次的圆周率 pi 值 %显示 N 次迭代之后的相交概率均值 pi_m=(2*L*n)/(m*d); %利用投针频率估计圆周率 pi Pi_m(1,i)=(pi_m); %记录第 i 次循环之后的圆周率 pi 值
通过理论分析(见胡尧编写讲义教材)可知甲输光的概率是:
⎧ b ⎪a + b ⎪ P=⎨ 1 − ( p q )b ⎪ ⎪1 − ( p q ) a +b ⎩ 1 p=q= 2 1 p, q ≠ 2
p ,说时赌徒甲获胜,相 应甲得到一元钱,而乙付出一元钱;反之甲拿出一元钱给乙.这里对甲的赌本 a 、乙的赌 本 b 、甲赢的概率 p 取不同的数值进行 10000 次赌博过程模拟,相应程序如下:
Monte Carlo仿真原理
Monte Carlo方法的的基本思想是首先建立一个概率模型,使所 求问题的解正好是该模型参数或其他有关特征量,然后通过模 拟 ———— 统计试验,即多次随机抽样试验(确定m和n),统计 出某事件发生的百分比,只要试验次数很大,该百分比就近拟于 事件发生的概率。这实际上就是事件发生概率的统计定义。利用 建立的概率模型,求出要估计的参数。蒙特卡洛属于试验数学的 一个分支。
3000