[Matlab]概率论与数理统计:随机数的生成与应用
来源:互联网 发布:海豚动态壁纸软件 编辑:程序博客网 时间:2024/06/05 04:30
下面介绍一些基本的随机数生成函数:
分布类型
函数名称
调用格式
二项分布
binornd
R = binordn(N,P,mm,n);
卡方分布
chi2rnd
R = chi2rnd(N,mm,nn)
指数分布
exprnd
R = exprnd(MU,mm,nn)
F分布
frnd
R = frnd(M,N,mm,nn)
正态分布
normrnd
R = normrnd(MU,SIGMA,mm,nn)
泊松分布
poissrnd
R = poissrnd(LAMBDA,mm,nn)
学生t分布
trnd
R = trnd(N,mm,nn)
离散均匀分布
unidrnd
R = unidrnd(N,mm,nn)
连续均匀分布
unifrnd
R = unifrnd(A,B,mm,nn)
下面来用Matlab解决一些随机数应用。
栗1:掷两个骰子,出现点数之和有多少中可能的结果?其中哪个结果概率最大?其值为多少?
解:掷骰子所出现的点数服从均匀分布,所以建立一下MATLAB程序:
% 掷两颗骰子出现的点数之和有多少种可能的结果clear csk = 30000; %掷骰子的次数n = 2; %骰子的个数 for m = n:6*n %从2到12遍历 cs(m) = 0; %清零计数器====为何有warning?end %结束循环 for m = 1:k %进行k次投掷实验 s2 = unidrnd(6,1,n);%模拟一次投掷n颗骰子的实验,s2中存储了本次试验的结果,即n个数字 s = sum(s2); %将s2中的数字求和 cs(s) = cs(s)+1; %将求和的结果求出后,在对应的计数器里面加一以记录当前操作end fprintf('点数\t\t次数\t\t概率\n')for m = n:6*n %显示实验结果 fprintf('%2d\t\t%4d\t%0.4f\n',m,cs(m),cs(m)/k)end
其中函数unidrnd(6,1,n)的功能是从集合{1,2,3,4,5,6}中产生一个1×n阶的随机数矩阵。(讲解一下MATLAB分号的意义)
再举一个使用乘法原理的栗子。
题目的需求是:在100件产品中有3件次品。现在从中连取两次,每次取一件,取后不放回,求下列事件的概率:
(1)两次都是正品
(2)一件正品,一件次品。
分析略过,程序清单:
k = 40000; %实验次数for n = 1:3 cs(n)=0; %清零计数器end;for m = 1:k for n = 1:3 cp(n) = 0; %将次品标记为0 end; for n = 4:100 cp(n) = 1; %将正品标记为1 end; q1 = cp(unidrnd(100)); %抽取第一件商品 if q1==0 cp(1)=1; %如果第一次抽到的是次品,则次品减少一个 end q2 = cp(unidrnd(99)); q = q1+q2+1; %若q为0(0+0)则是两件次品,若q为1(1+0或0+1)则是一正一次,若q为2(1+1)则是两件正品 cs(q) = cs(q)+1;enddisp('实验结果: 两件次品 一正一次 两件正品')disp(sprintf('对应概率: %7.5f %7.5f %7.5f',cs(1)/k,cs(2)/k,cs(3)/k))
注意,因为模拟的是随机事件,所以每一次模拟的实验结果都是不完全相等的。
将代码存档时需要注意,应尽量符合Matlab的命名规范,否则无法run对应的.m程序。
在这里简单说明一下Matlab中各个标点符号的功能:
1 空格:用于输入变量之间的分隔符以及数组行元素之间的分隔符
2 逗号:用于要显示计算结果的命令之间的分隔符;输入变量之间的分隔符以及数组行元素之间的分隔符。
3 点号:数值中的小数点
4 分号:不显示计算结果的命令行的结尾;用于不显示计算结果的命令之间的分隔符;用于数组元素行之间的分隔符。
5 冒号:生成一维数值数组,表示一维数组的全部元素或多维数组的某一维的全部元素
6 百分号:用于注释的前面
7 单引号:括住字符串
8 圆括号:引用数组元素;用于函数输入变量列表;用于确定算术运算的先后次序
9 方括号:构成向量和矩阵; 用于函数输出列表
10 下划线:用于一个变量、函数和文件名中的连字符
11 续行号:用于把后面的行和该行连接以构成一个较长的命令
12 艾特号:用于放在函数名前形成函数句柄;用于放在目录名前形成用户对象类目录
- [Matlab]概率论与数理统计:随机数的生成与应用
- 概率论与数理统计及其应用 浙江大学 谢式千编
- 概率论与数理统计
- 概率论与数理统计(1)
- 概率论与数理统计(2)
- 概率论与数理统计(3)
- 概率论与数理统计(4)
- 概率论与数理统计(5)
- 概率论与数理统计--参数估计
- 概率论与数理统计--假设检验
- 概率论与数理统计
- 概率论与数理统计
- 概率论与数理统计复习
- 概率论与数理统计
- 概率论与数理统计
- 概率论与数理统计
- 概率论与数理统计
- 概率论与数理统计基本概念
- 更改Mac上ScreenShot截屏文件的默认存储地址
- iOS 5两大隐藏特性
- Core Text对象模型
- android Content Provider详解八-实现ContentProvider MIME 类型
- Windows Phone学习笔记:Windows Phone 7 模拟器的操作密技
- [Matlab]概率论与数理统计:随机数的生成与应用
- SetWindowPos小记
- [HTML5游戏开发]挑战横版ACT(一):开天地黄忠初登场
- 未来企业网络营销方向将定位于90后
- 如何做好seo的数据分析
- 如何去做外链才是最有效的
- 23条心灵寄语献给在创业一线的兄弟姐妹
- 一个大学生站长的创业故事
- 根据C++头文件生成文件初始框架