Matlab笔记——数值计算—概率篇017

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

17. 数值计算—概率篇

一、计算组合数、排列数

!n——factorial(n)或prod(1:n)

k

C——nchoosek(n,k)

n

k

A——factorial(n)/factorial(n-k)

n

二、生成随机数

1. rand(m,n)

——生成m×n的服从[0,1]上均匀分布的随机数;

用a + (b-a).*rand(m,n)生成m×n的服从[a,b]上均匀分布的随机数。

2. 二项分布与正态分布随机数

binornd(N,P,m,n)——生成m×n的服从二项分布B(N,P)的随机数;

normrnd(MU,SIGMA,m,n)

——生成m×n的服从正态分布N(MU,SIGMA2)的随机数;

3. 通用格式:

分布缩写+rnd(分布参数, m,n)

或random(‘分布名或缩写’, 分布参数, m,n)

可以用来生成m×n该分布的随机数。各种分布名见下图:

4. 使用randsample和randsrc函数生成指定离散分布随机数

X=randsample(N, k, replace, w)

N相当于[1:N], 也可以是具有确定值的向量;k表示生成k个随机数;replace=’true’表示可重复,或’false’表示不可重复(默认);w是权重向量。

X= randsrc(m,n,[x; p])

生成m×n的随机矩阵,服从取值为向量x, 对应概率为向量p的离散分布。

例1 设离散型随机变量X服从如下分布:

生成服从3×5的该分布的随机数。

代码:

xvalue = [-2 -1 0 1 2];

xp = [0.05 0.2 0.5 0.2 0.05];

% 调用randsample函数生成100个服从指定离散分布的随机数

x = randsample(xvalue, 15, true, xp);

reshape(x,[3 5])

% 调用randsrc函数生成10*10的服从指定离散分布的随机数矩阵

y = randsrc(3,5,[xvalue;xp])

运行结果:ans = 0 0 1 0 0

0 0 0 -1 -1

1 1 0 0 1

y = -1 -1 1 1 -1

-1 0 0 2 0

-1 0 -1 0 0

5. 已知概率密度函数,生成服从该分布的随机数 例2 设随机变量X 的概率密度函数为(抛物线分布):

6(1), 01

() 0, x x x f x -<<⎧=⎨⎩其他

调用crnd 函数(来自《MATLAB 统计分析与应用 40个案例分析》作者:谢中华),生成3×5个服从该分布的随机数。

代码:

pdffun = '6*x*(1-x)'; % 密度函数表达式 x = crnd(pdffun,[0 1],3,5)

运行结果:x = 0.3160 0.6866 0.2724 0.2816 0.1268 0.2681 0.8439 0.1948 0.7999 0.5383 0.7377 0.2040 0.4932 0.1948 0.6909

6. 生成多元分布的随机数

mrnd(N, P, m)——多项分布,P 为概率向量;

mvnrnd(mu, sigma, m)——多元正态分布,mu, sigma 为n 元向量; mvtrnd(C, df, m)——多元t 分布; wishrnd(sigma,df,m)——Wishart 分布; iwishrnd(sigma,df, m)——逆Wishart 分布;

例3利用mvnrnd 函数生成3组的二元正态分布随机数,其中分布的参数为

1013==20316μ⎛⎫⎛⎫

∑ ⎪ ⎪⎝⎭⎝⎭

, 代码:

mu = [10 20];

sigma = [1 3; 3 16];

xy = mvnrnd(mu, sigma, 3)

运行结果:xy = 11.8336 25.7385

9.0347 17.8026

9.6030 19.5821

三、随机变量的概率密度函数及其图像

概率密度函数,描述随机变量X在点x附近取值的可能性。

1. 通用格式:

pdf(‘分布名或缩写’, x, 分布参数)

——返回该分布在X=x处的概率密度值;

例如,Pk=pdf('bino',3, 10, 0.4)

2. 专用函数

分布名缩写+pdf(x, 分布参数)

例如,binopdf (k, n, p)

例4绘制卡方分布密度函数在自由度分别为1、5、15的图形。

代码:

x=0:0.1:30;

y1=chi2pdf(x,1); plot(x,y1,':')

hold on

y2=chi2pdf(x,3);plot(x,y2,'+')

y3=chi2pdf(x,10);plot(x,y3,'o')

axis([0,30,0,0.2])

运行结果:

四、随机变量的分布函数

分布函数定义为:F(x)=P{X≤x},表示随机变量X的取值落在(-∞,x)范围内的概率。引入分布函数的目的,就是可以计算随机变量X的取值落在任意区间内的概率,例如,

P{a

1. 通用格式:

cdf(‘分布名或缩写’, x, 分布参数)

——返回该分布的分布函数;

例如,Pk=cdf('bino',3, 10, 0.4)

2. 专用函数

分布名缩写+cdf(x, 分布参数)

例如,binocdf (k, n, p)

相关文档
最新文档