Download - §4.1 几 个有用的排列组合函数
§4.1 几个有用的排列组合函数
Chapter 4 概率统计中的 Matlab
knCknnchoosek 求组合数),(.1
如: >> nchoosek(5,3) , nchoosek(20,6)
ans = 10
ans = 38760
一、基本公式
个元素的组合中取从),(.4 kvkvcombnk
如: >> combnk([2 3 6 7 8],3)
ans = 6 7 8 3 7 8 3 6 8 3 6 7 2 7 8 2 6 8 2 6 7 2 3 8 2 3 7 2 3 6
二、产生随机数的两种方法
1. rand(1,n) 产生 1 行 n 列,即 n 个( 0 , 1 )之间的随机数
>> rand(1,8)ans = 0.2760 0.6797 0.6551 0.1626 0.1190 0.4984 0.9597 0.3404
如:
注: (1) 由此可产生任意区间 (a,b) 的随机 数,即
Rand(1,n)* ( b-a ) +a
>> rand(1,8)*3+2ans = 2.2276 2.1619 3.5924 4.3375
4.8020 2.3897 3.7065 3.4082
如:
此即是产生了区间( 2 , 5 )之间的 8 个随机数。
(2) ceil: 往上取整,即若 0.12 取为 1 ; fix :靠近零取整,即若 0.12 取为 0 ,
>> A1=rand(1,8)*3+2A1 = 2.7889 3.9622 4.0676 4.2445
3.3516 2.2515 2.6869 4.7400
如:
2. unidrnd(n,1,m) :产生最大值为 n的 1 行 m 列 (m 个 ) 的随机自然数。
>> unidrnd(9,1,5)ans = 8 9 2 9 6
如:
>> unidrnd(9,1,5)ans = 1 3 5 9 9
三、随机试验的计算机模拟
例、《概统》书上习题一的 13 题
设有 6 个相同的球以等可能地落入 10个盒子中的每一个,其中盒子是可辨的并且盒子能容纳的球数不限。求( 1 )某一个指定的盒子中恰有 2 个球
的概率;( 2 )某指定的 4 个盒子中正好有 3 个
球的概率。
function P = fun1_13(N)% P 返回实验成功的概率% N 表示随机模拟进行的次数 n=0; % n 表示实验成功的次数
for k=1:N
y=zeros(1,10);% 初始化 10 个盒子
for i=1:6 % 进行 6 次扔球实验
r=unidrnd(10); % 产生 1 到 10 之间的随机正整数,表示球掉入的盒子号 y(r)=y(r)+1; % 该盒子内的球数加 1 end if y(1)==2 % 某个指定的盒子,不妨假设为第一个盒子 n=n+1; endendP=n/N;
>> fun1_13(1e4)
ans = 0.0949
>> fun1_13(1e5)
ans = 0.0980
>> fun1_13(1e5)
ans = 0.0985
>> fun1_13(1e5)
ans = 0.0983
例、《概统》书上习题一的 31 题
乒乓球有白色与黄色两种颜色,一口袋内有两个乒乓球,但不知道口袋内两个乒乓球的颜色。现在从口袋中任取一个乒乓球,发现是黄色的,然后返回口袋充分混合,求从口袋中再取出一个黄色乒乓球的概率。
function P = fun1_31(N)
% P 返回实验成功的概率% N 表示随机模拟进行的次数
n=0;%n 表示实验成功的次数m=0;%m 表示有效实验次数(第一次取到白色的为无效实验)
for k=1:N y=unidrnd(2,1,2);% 产生 1 行 2列两个不大于 2 的随机正整数, 1 代表黄色,2 代表白色
if y(1)==2 % 白色 , 不符合实验要求, 从新开始实验
continue; end
m=m+1; r=unidrnd(2); % 产生不大于 2 的数,表示随机取第一个或第二个球 if y(r)==1 n=n+1; endendP=n/m;
1 、设每个人的生日在一年的 365 天中的任意一天是等可能的 .
(1) 给出在一个
至少有两个人的生日相同的概率 P2(n) 的计算公式。
(2) 试用 Matlab 软件分别算出 P2(k),k=2,3, ……,100
个人的团体中,)365(n