MATLAB基础.docx

上传人:b****4 文档编号:4883755 上传时间:2022-12-11 格式:DOCX 页数:25 大小:89.68KB
下载 相关 举报
MATLAB基础.docx_第1页
第1页 / 共25页
MATLAB基础.docx_第2页
第2页 / 共25页
MATLAB基础.docx_第3页
第3页 / 共25页
MATLAB基础.docx_第4页
第4页 / 共25页
MATLAB基础.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

MATLAB基础.docx

《MATLAB基础.docx》由会员分享,可在线阅读,更多相关《MATLAB基础.docx(25页珍藏版)》请在冰豆网上搜索。

MATLAB基础.docx

MATLAB基础

实验九MATLAB与概率统计

一、实验目的:

(1)掌握经典的随机分布的随机数据的产生;

(2)掌握统计量的数字特征的计算方法。

二、实验内容和步骤:

概率统计是大学数学的重要内容,在MATLAB7中,提供了专用工具箱statistics,该工具箱中有几百个专用于求解概率统计问题的功能函数,使用它们可以很方便地解决在科学研究和实际工程中所遇到的问题。

1、随机数的产生

随机数的产生式概率统计的基础,概率统计就是对各种样本数据进行分析,在实际中,各种样本可以用一些经典的随机分布数来表示,本实验中主要介绍一些经典的随机分布:

(1)、均匀分布的随机数据的产生:

在MATLAB语言中,使用unifrnd函数生成连续型均匀分布随机数据,使用unidrnd函数生成离散型的均匀分布。

它们的使用格式如下:

●R=unifrnd(A,B)返回区间[A,B]上连续型均匀分布。

●R=unifrnd(A,B,M,N)命令返回一个M×N阶矩阵。

●R=unidrnd(N)命令返回一个离散型均匀分布,R和N同维数。

●R=unidrnd(N,MM,NN)命令返回一个MM×NN阶矩阵。

例9-1使用unifrnd函数和unidrnd函数生成均匀分布的随机数据。

>>unifrnd(2,5)

ans=4.7654

>>unifrnd(1,9,2,2)

ans=2.84914.8879

5.85478.1304

>>R2=unidrnd(30)

R2=14

>>unidrnd(10,2,2)

ans=67

39

(2)、指数分布的随机数据产生:

在MATLAB语言中,exprnd函数用于生成指数分布的随机数据,其使用格式如下:

●R=exprnd(MU)命令返回一个以MU为参数的随机指数分布矩阵,R和MU同维数。

●R=exprnd(MU,M,N)命令返回一个M×N阶矩阵。

例9-2使用exprnd函数命令返回一个M×N阶矩阵。

>>R=exprnd(8)

R=13.3004

>>R=exprnd(8,4,5)

R=13.142715.13051.26581.57178.5842

3.05922.87754.17293.50929.9106

9.55847.77505.60051.60748.6024

4.90471.20650.84493.32145.0177

(3)、二项分布的随机数据产生:

在MATLAB语言中,binornd函数用于生成二项分布随机数据。

其使用格式如下:

●R=binornd(N,P)命令中,N和P为二项分布的两个参数,返回服从参数N、P的二项分布的随机数。

●R=binornd(N,P,M)命令中,M制定随机数的个数,与R同维数。

例9-3使用binornd函数生成二项分布的随机数据。

>>n=8:

10:

60;

>>r1=binornd(n,1./n)

r1=014011

>>r2=binornd(n,1./n,[16])

r2=100243

(4)、正态分布的随机数据的产生:

在MATLAB语言中,normrnd函数用于生成参数为μ、σ的正态分布的随机数据。

其使用格式如下:

●R=normrnd(MU,SIGMA)命令返回均值为MU,标准差为SIGMA的正态分布的随机数据,R可以是向量或矩阵。

●R=normrnd(MU,SIGMA,M)命令中,M指定随机数的个数,与R同维数。

●R=normrnd(MU,SIGMA,M,N)返回一个M×N阶矩阵。

例9-4使用normrnd函数生成正态分布的随机数据。

>>n=normrnd(0,1,[16])

n=-1.14651.19091.1892-0.03760.32730.1746

>>n1=normrnd(8,0.5,[3,3])

n1=7.90669.09168.5334

8.36297.93188.0296

7.70588.05707.9522

>>n3=normrnd([123;456],0.1,2,3)

n3=0.91681.86643.1624

4.02945.07145.9308

>>R=normrnd(8,0.5,[2,3])

R=8.42907.20318.2856

8.62707.27957.8001

表9-1介绍了一些常用的产生随机分布的函数,如下所示。

表9-1随机数产生函数表

函数

调用形式

注释

unifrnd

unifrnd(A,B,m,n)

[A,B]上均匀分布(连续)随机数

unidrnd

unidrnd(N,m,n)

均匀分布(离散)随机数

exprnd

exprnd(Lambda,m,n)

参数为Lambda的指数分布随机数

normrnd

normrnd(MU,SIGMA,m,n)

参数为MU,SIGMA的正态分布随机数

chi2rnd

chi2rnd(N,m,n)

自由度为N的卡方分布随机数

trnd

trnd(N,m,n)

自由度为N的t分布随机数

frnd

frnd(N1,N2,m,n)

第一自由度为N1,第二自由度为N2的F分布随机数

gamrnd

gamrnd(A,B,m,n)

参数为A,B的γ分布随机数

betarnd

betarnd(A,B,m,n)

参数为A,B的β分布随机数

lognrnd

lognrnd(MU,SIGMA,m,n)

参数为MU,SIGMA的对数正态分布随机数

nbinrnd

nbinrnd(R,P,m,n)

参数为R,P的负二项分布随机数

ncfrnd

ncfrnd(N1,N2,delta,m,n)

参数为N1,N2,delta的非中心F分布随机数

nctrnd

nctrnd(N,delta,m,n)

参数为N,delta的非中心t分布随机数

ncx2rnd

ncx2rnd(N,delta,m,n)

参数为N,delta的非中心卡方分布随机数

raylrnd

raylrnd(B,m,n)

参数为B的瑞利分布随机数

weibrnd

weibrnd(A,B,m,n)

参数为A,B的韦伯分布随机数

binornd

binornd(N,P,m,n)

参数为N,P的二项分布随机数

geornd

geornd(P,m,n)

参数为P的几何分布随机数

poissnrd

poissnrd(Lambda,m,n)

参数为Lambda的泊松分布随机数

(5)、通用函数求各分布的随机数据:

MATLAB语言中使用random函数求指定分布的随机数,其使用格式如下所示:

●R=random(‘name’,A1,A2,A3,m,n),其中A1,A2,A3为分布的参数;m,n为指定随机数的行和列。

例9-5产生12个(3行4列)均值为2,方差为0.3的正态分布随机数。

>>random('norm',2,0.3,3,4)

ans=2.35731.95301.68312.1586

1.63931.51882.42452.0658

1.99412.07721.75851.7234

表9-2常见分布函数名称表

name的取值

注释

'beta'或'beta'

beta分布

'bino'或'binomial'

二项分布

'chi2'或'chisquare'

卡方分布

'exp'或'exponential'

指数分布

'f'或'f'

F分布

'gam'或'gamma'

γ分布

'geo'或'geometric'

几何分布

'logn'或'lognormal'

对数正态分布

'norm'或'normal'

正态分布

'poiss'或'poisson'

泊松分布

'rayl'或'rayleigh'

瑞利分布

'unif'或'uniform'

连续型均匀分布

'unid'或'discreteuniform'

离散型均匀分布

2、统计量的数字特征

(1)、平均值和中位数

a)、算术平均值:

X为向量时,算术平均值的数学表达式为

,即样本均值。

在MATLAB语言中,mean函数用于求一组样本数据X的算术平均值,其使用格式如下。

●mean(X)命令返回X的平均值。

当X为向量时,返回X中各元素的算术平均值,当X为矩阵时,返回X中各列元素的算术平均值构成的向量。

●mean (X,DIM)命令返回用于求在给出的维数DIM内的算术平均值。

例9-6使用mean函数求算术平均值。

>>A=magic(4)

A=162313

511108

97612

414151

>>mean(A)

ans=8.50008.50008.50008.5000

>>mean(A,2)%返回一个列向量,其中的数值为每一行的平均值。

ans=8.5000

8.5000

8.5000

8.5000

b)、忽略NaN计算算术平均值:

在MATLAB语言中,nanmean函数用于求一组样本数据X中除NaN外的算术平均值,其使用格式如下:

●nanmean(X)命令返回X中除NaN外的算术平均值。

当X为向量时,返

回X中各元素的算术平均值,当X为矩阵时,返回X中各列元素的算术平均值构成的向量。

c)、几何平均数:

几何平均数的数学表达式是

,其中样本数据非负,主要用于对数正态分布。

在MATLAB语言中,geoman函数用于求解样本数据的几何平均数,其使用格式如下:

●M=geoman(X)命令返回X的几何平均值。

当X为向量时,返回X中各

元素几何平均数,当X为矩阵时,返回X中各列元素的几何平均数构成的向量。

例9-7使用geomean函数求几何平均值。

>>A=rand(3)

A=0.67240.56300.2789

0.93830.11890.5568

0.34310.16900.4856

>>geomean(A)

ans=0.60050.22450.4225

>>B=[1357];

>>geomean(B)

ans=3.2011

d)、中位数:

中位数是样本数据中大小位于中间的那个数。

在MATLAB语言中,median函数用于求解样本数据的中位数,其使用格式如下。

●median(X)命令返回样本数据X的中位数,当X为向量时,返回X中各

元素的中位数;当X为矩阵时,返回X中各列元素的中位数构成的向量。

●median(X,DIM)命令返回给出的维数DIM内的中位数。

例9-8使用median函数求中位数。

>>A=linspace(1,9,9)

A=123456789

>>a=median(A)

a=5

>>>>B=linspace(1,10,10)

B=12345678910

>>a=median(B)

a=5.5000

>>B=magic(4)

B=162313

511108

97612

414151

>>b=median(B)

b=79810

e)、忽略NaN的中位数:

指样本数据中除NaN外大小位于中间的那个数。

在MATLAB语言中,nanmedian函数用于求解样本函数中除NaN外的中位数,使用格式如下:

●nanmedian(X)命令返回样本数据X中除NaN外的中位数。

当X为向量时,返回X中各元素的中位数,当X为矩阵时,返回X中各列元素的中位数构成的向量。

●nanmedian(X,DIM)命令返回给出的维数DIM中除NaN外的中位数。

例9-9使用nanmedian函数求忽略NaN的中位数。

>>A=[1542;nannan2;3nan4]

A=1542

NaNNaN2

3NaN4

>>nanmedian(A)

ans=2542

>>B=[nan123]

B=NaN123

>>nanmedian(B)

ans=2

(2)、数据比较

数据比较包括数据的排序以及数据的最大值与最小值之差等运算。

a)、数据的排序:

在MALTAB语言中,sort函数用于进行数据的排序,其使用格式如下。

●sort(X)命令将X按由小到大排序。

当X为向量时,该命令返回的X为按由小到大排序后的向量;当X为矩阵时,该命令返回X矩阵的各列按由小到大排序。

●sort(X,DIM)命令在给定的维数DIM内排序。

●[Y,I]=sort(X)命令中,Y为排序结果,I中元素表示Y中对应元素在X中的位置。

当X是一个向量时,那么有Y=X(I);当X是一个m×n阶矩阵时,程序段“forj=1:

n,Y(:

j)=X(I(:

j),j);end”成立。

例9-10使用sort函数进行排序。

>>X=[175;642;983] ;

>>sort(X,2)

ans=157

246

389

>>[Y,I]=sort(X)

Y=142

673

985

I=122

213

331

a)、按行进行数据排序:

在MALTAB语言中,使用sortrows函数按行进行数据的排序,其使用格式如下。

●Y=sortrows(X)命令将X按由小到大以行的方式进行排序。

当X为矩阵时,返回矩阵Y,并且Y是按X的第1列由小到大,以行方式排序后生成的矩阵。

●sortrows(X,COL)命令按指定列COL由小到大进行排序。

●[Y,I]=sortrows(X,COL)命令中,Y为排序的结果,I表示Y中第COL列元素在X中位置。

例9-11使用sortrows函数按行进行排序。

>>A=[175;642;983];

>>sortrows(A)

ans=175

642

983

>>sortrows(A,3)

ans=642

983

175

>>sortrows(A,[21])

ans=642

175

983

>>[Y,I]=sortrows(A,3)

Y=642

983

175

I=2

3

1

b)、求最大值和最小值之差:

在MATLAB语言中,使用函数range求数据中最大值与最小值之差,其使用格式如下。

●Y=range(X)命令求出X中最大值和最小值的差。

当X为向量时,该命令返回X向量中的最大值和最小值之差;当X为矩阵时,返回X矩阵中各列元素的最大值和最小值之差。

例9-12使用range函数最大值与最小值之差。

>>A=[15824]

A=15824

>>range(A)

ans=23

>>B=randn(4)

B=0.69000.6686-0.15671.4151

0.81561.1908-1.6041-0.8051

0.7119-1.20250.25730.5287

1.2902-0.0198-1.05650.2193

>>range(B)

ans=0.60032.39331.86142.2202

(3)期望和方差

a)、样本的期望值:

X为向量时,它的期望值的数学表达式是

,即样本均值,与算术平均值的定义一样。

在MATLAB语言中,mean函数用于求解样本的期望值。

b)样本的方差:

方差定义为

,在MATLAB语言中,使用var来求解样本数据的方差,其使用格式如下。

●var(X)命令返回样本数据的方差,当X为向量时,该命令返回X向量的样本方差;当X为矩阵时,返回由X矩阵的列向量的样本方差构成的行列式。

●var(X,1)命令返回向量(矩阵)X的简单方差(即前置因子为1/n的方差)。

例9-13样本方差的求解。

>>A=rand(1,8)

A=0.29990.85600.11210.29160.09740.39740.33330.9442

>>B=rand(4)

B=0.83860.57440.25130.8159

0.25840.74390.14430.9302

0.04290.80680.65160.3099

0.00590.63760.94610.2688

>>var(A)

ans=0.1004

>>var(B)

ans=0.14790.01090.13680.1160

>>var(B,1)

ans=0.11090.00820.10260.0870

(4)样本的标准方差:

样本的标准方差为

,在MATLAB语言中,std函数用来求解样本数据的标准差,其使用格式如下。

●std(X)命令或std(X,0)返回向量(矩阵)X的样本标准差(前置因子为1/n-1),即:

X可以是向量或者一个矩阵。

如果是向量,那么就是算一行的标准偏差,如果矩阵,就是算每一列的标准偏差。

●std(X,1)命令返回向量(矩阵)X的标准差(前置因子为1/n)。

●std(X,FLAG,DIM)命令返回向量(矩阵)X中维数为DIM的标准差值,其中FLAG=0时,前置因子为1/(n-1);否则前置因子为1/n。

例9-14样本标准差的求解。

>>X=[723;2-56;831];

>>std(X)

ans=3.21464.35892.5166

>>std(X,0,1)%按照行

ans=3.21464.35892.5166

>>std(X,1)

ans=2.62473.55902.0548

>>std(X,1,2)

ans=2.1602

4.5461

2.9439

(5)样本除NaN外的标准方差:

样本忽略NaN的标准差也是

,在MATLAB语言中,nanstd函数用来求解样本数据的标准差,其格式使用如下。

●nanstd(X)命令返回样本除NaN值外所有元素的标准差,当X为含有元素NaN的向量时,返回除NaN外的元素的标准差;当X为含元素NaN的矩阵时,则返回各列除NaN外的标准差构成的向量。

(6)常见分布的期望和方差

a)、均匀分布的期望和方差:

在MATLAB语言中,unifstat函数用来求解均匀分布的期望和方差,使用格式如下。

●[M,V]=unifstat(A,B)命令中,当A和B为标量时,M和V就分别是[A,B]区间上均匀分布的期望和方差;A和B为向量或矩阵时,则M和V也是向量或矩阵。

例9-15使用unifstat函数求均匀分布的期望和方差。

>>a=2;

>>b=5;

>>A=[1:

7];

>>B=[3:

9];

>>[m,v]=unifstat(a,b)

m=3.5000

v=0.7500

>>[M,V]=unifstat(A,B)

M=2345678

V=0.33330.33330.33330.33330.33330.33330.3333

a)、二项分布的均值和方差:

在MATLAB语言中,binostat函数用来求解二项分布的期望和方差,使用格式如下。

●[M,V]=binostat(N,P)命令中,N,P为二项分布的两个参数,可为标量也可以为矩阵或向量。

M为该二项分布的均值,V为该二项分布的方差。

例9-16使用binostat函数求二项分布的期望和方差

>>L=1:

7;

>>[M,V]=binostat(L,1./L)

M=

1111111

V=00.50000.66670.75000.80000.83330.8571

>>[m,v]=binostat(L,1/2)

m=0.50001.00001.50002.00002.50003.00003.5000

v=0.25000.50000.75001.00001.25001.50001.7500

b)、正态分布的期望和方差:

在MATLAB语言中,normstat函数用来求解正态分布的期望和方差,使用格式如下。

●[M,V]=normstat(MU,SIGMA)命令中,MU,SIGMA可为标量也可以为矩阵或向量。

其中M=MU,V=SIGMA2。

例9-17使用normstat函数求正态分布的期望和方差

>>n=1:

5;

>>[M,V]=normstat(n'*n,n'*n)

M=12345

246810

3691215

48121620

510152025

V=1491625

4163664100

93681144225

1664144256400

25100225400625

MATLAB语言还提供了很多常见的分布的期望和方差,如表9-3所示。

表9-3常见分布的期望和方差函数表

函数

调用形式

注释

unifstat

[M,V]=unifstat(a,b)

均匀分布(连续)的期望和方差,M为期望,V为方差。

unidstat

[M,V]=unidstat(a,b)

均匀分布(离散)的期望和方差

expstat

[M,V]=expstat(p,Lambda)

指数分布的期望和方差

normstat

[M,V]=normstat(mu,sigma)

正态分布的期望和方差

chi2stat

[M,V]=chi2stat(x,n)

卡方分布的期望和方差

tstat

[M,V]=tstat(n)

t分布的期望和方差

fstat

[M,V]=fstat(n1,n2)

F分布的期望和方差

gamstat

[M,V]=gamstat(a,b)

γ分布的期望和方差

betastat

[M,V]=betastat(a,b)

β分布的期望和方差

lognstat

[M,V]=lognstat(mu,sigma)

对数正态分布的期望和方差

nbinstat

[M,V]=nbinstat(R,P)

负二项分布的期望和方差

ncfstat

[M,V]=ncfstat(n1,n2,delta)

非中心F分布的期望和方差

nctstat

[M,V]=nctstat(n,delta)

非中心t分布的期望和方差

ncx2stat

[M,V]=ncx2stat(n,delta)

非中心卡方分布的期望和方差

raylstat

[M,V]=raylstat(b)

瑞利分布的期望和方差

weibstat

[M,V]=weibstat(a,b)

韦伯分布的期望和方差

binostat

[M,V]=bin

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1