[Matlab]概率论与数理统计:随机数的生成与应用
下面介绍一些基本的随机数生成函数:
分布类型 |
函数名称 |
调用格式 |
二项分布 |
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; %将求和的结果求出后,在对应的计数器里面加一以记录当前操作endfprintf('点数\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:3cs(n)=0; %清零计数器end;for m = 1:kfor n = 1:3cp(n) = 0; %将次品标记为0end;for n = 4:100cp(n) = 1; %将正品标记为1end;q1 = cp(unidrnd(100)); %抽取第一件商品if q1==0cp(1)=1; %如果第一次抽到的是次品,则次品减少一个endq2 = 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]概率论与数理统计:随机数的生成与应用相关推荐
- matlab做概率论题,Matlab 概率论与数理统计.doc
<Matlab 概率论与数理统计.doc>由会员分享,可在线阅读,更多相关<Matlab 概率论与数理统计.doc(16页珍藏版)>请在装配图网上搜索. 1.Matlab 概率 ...
- matlab 数理统计,(完整版)Matlab概率论与数理统计
Matlab 概率论与数理统计一.matlab基本操作 1.画图 [例01.01]简单画图 hold off; x=0:0.1:2*pi; y=sin(x); plot(x,y,'-r'); x1=0 ...
- 概率论课程设计利用Matlab,概率论与数理统计课程设计
概率论与数理统计课程设计 概率论课程设计 1110410327 苏浪1 国内产值与人力资本的回归分析 目录 一. 设计目的 二. 设计问题 三. 设计原理 四. 设计程序 设计步骤 设计结果 1.得到 ...
- Matlab概率论与数理统计实践-正态分布
题目: 问题理论分析: 三个区域:(-1,3),(-3,5),(-5,7) 程序设计,实现及必要注释,函数说明 (在csdn没有找到matlab的代码块格式,只好随便找了c的代码块格式来替代) x=- ...
- Matlab概率论与数理统计实践-假设检验
题目: 某车间用一台包装机包装某食品,包得的袋装重是一个随机变量,它服从正态分布.当机器正常时,其均值为0.5公斤,标准差为0.015.某日开工后检验包装机是否正常,随机地抽取所包装的9袋,称得净重为 ...
- Matlab概率论与数理统计实践-事件发生的概率的三种计算方法:二项分布公式,正态分布,切比雪夫不等式
题目: 在每次实验中,事件A发生的概率是0.5,求在1000次独立实验中,求事件 发生的次数在475~525之间的概率.(1)用二项分布公式精确计算:(2)用正态分布近似计算:(3)用切比雪夫不等式进 ...
- matlab 数理统计,概率论和数理统计(matlab应用)1
概率论和数理统计(matlab应用)1 (2006-04-29 08:53:49) 12.1 概 述 自然界和社会上会发生各种各样的现象,其中有的现象在一定条件下是一定要发生的,有的则表现出一定的随机 ...
- 概率论与数理统计——MATLAB
概率论与数理统计--MATLAB 1. 用MATLAB产生随机数 独立同分布的随机变量的观测值称为随机数,以下MATLAB指令都是用于产生x*y个服从对应分布的随机数. 分布名称 MATLAB指令 两 ...
- MATLAB中的概率论与数理统计
MATLAB中的概率论与数理统计 概率论与数理统计 产生随机数 binornd poissrnd exprnd unidrnd normrnd 概率密度函数(pdf) binopdf poisspdf ...
最新文章
- Google App Engine技术架构之Google App Engine的简介
- python程序语法元素分析_Python程序语法元素分析(2)
- python删除链表中重复的节点_Java编程删除链表中重复的节点问题解决思路及源码分享...
- 三极管和MOS管有什么不一样?用MOS管还是三极管?
- 学习笔记之ByteBuffer使用和实现以及文件内存映射
- C++ 继承关系图 01
- Oracle 常用命令举例
- file_get_contents('php://input') 和POST的区别
- 什么是DevOps?人员,流程和产品的结合,过程、方法与系统的统称
- 信通院 DevOps 新标准评估结果发布:腾讯获评唯一卓越级
- 快手活跃用户预测_哈工大团队解决方案
- 怎么开发直播短视频源码?
- iOS开发——APP回退到历史版本
- 【Mac小技巧】如何更改默认浏览器
- ASP.NET Web API项目自动生成接口文档和测试页面
- QueryDSL 大于、小于、大于等于、小于等于、等于、不等于方法
- 【CSS】几种尺寸单位
- 项目如行军——《孙子兵法》之九地篇
- 什么是在制品限制?通过这篇文章,让你搞明白
- 如何在庞大的ip地址库中快速定位到对应的ip地址所对应的归属地?