我是靠谱客的博主 耍酷摩托,最近开发中收集的这篇文章主要介绍matlab中unifrnd函数用法,概率和统计的MATLAB指令,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、描述性统计分析

描述性统计分析函数标准用法都是对列状数据进行操作。

meam(X):当X为向量,返回向量的均值;当X为矩阵,返回矩阵的每列元素均值构成的行向量。min,max,sort,mean,median,std,var,sum,prod,cumsum,sumprod等函数用法与mean类似。cov(X,Y):这里X,Y为向量,分别代表一个样本,求得样本的协方差。cov(X):这里X为矩阵,将各列看成一个样本,求得样本协方差矩阵。corrcoef用法与cov类似,求得相关系数。[Y,I]=sort(X):当X为向量,Y返回X的升序排列,I返回Y各元素原来的编址,即Y=X(I);当X为矩阵,分别对各列排序。Y=prctile(X,p):当X为向量,Y返回X的p%上分位数;当X为矩阵,分别求各列的上分位数。trimmean(X,p):剔除上下各(p/2)%数据以后的均值。

例如:

>> data=[11 57 291; 13 54 278;10 66 253; 9 46 307; 16 75

244;15 70 256; 8 40 310]

data =

11 57 291 13 54 278 10 66 253 9 46 307 16 75 244 15 70 256 8 40 310

>> % 注意mean和median的区别>> mean(data),median(data)

ans =

11.7143 58.2857 277.0000

ans =

11 57 278

>> % 注意var是std的平方>> std(data),sqrt(var(data))

ans =

3.0394 12.7895 26.7457

ans =

3.0394 12.7895 26.7457

>> % 注意sum与cumsum不同>> sum(data),cumsum(data)

ans =

82 408 1939

ans =

11 57 291 24 111 569 34 177 822 43 223 1129 59 298 1373 74 368 1629 82 408 1939

>> % 将三列看成三个随机变量>> corrcoef(data)

ans =

1.0000 0.8299 -0.7832 0.8299 1.0000 -0.9633 -0.7832 -0.9633 1.0000

>> % 排序>> [Y,I]=sort(data)

Y =

8 40 244 9 46 253 10 54 256 11 57 278 13 66 291 15 70 307 16 75 310

I =

7 7 5 4 4 3 3 2 6 1 1 2 2 3 1 6 6 4 5 5 7

>> % prctilr(data,50)等于median(data)>> prctile(data,[25,50,100])

ans =

9.2500 48.0000 253.7500 11.0000 57.0000 278.0000 16.0000 75.0000 310.0000

>> % 注意与mean的区别>> trimmean(data,20)

ans =

11.6000 58.6000 277.0000

2、统计图

bar(Y):作向量Y的条形图。

bar(X,Y):作向量Y相对于X的条形图。

hist(X,k):将向量X中数据等距分为k组,并作频数直方图。k默认为10.

[N,X]=hist(Y,k): 不做图,N返回各组数据频数,X返回各组的中心位置。

boxplot(Y):作向量Y的箱型图。

例子:

>> vdata=rand(1,100); 0个标准正态分布随机数>> % 由于是随机数,所以每次结果都不相同>> subplot(1,3,1);>> % 作出5组频数直方图,如图(a)所示>> hist(vdata,5);>> xlabel('(a)');>> [n,x]=hist(vdata,5)

n =

26 18 21 17 18

x =

0.1038 0.3021 0.5004 0.6987 0.8970

>> % 5组频率直方图,如图(b)所示>> subplot(1,3,2);>> bar(x,n/100)>> xlabel('(b)')>> % 箱型图,如图(c)>> subplot(1,3,3);>> boxplot(vdata);>> xlabel('(c)')

a4c26d1e5885305701be709a3d33442f.png

图1 统计图

箱型图的箱中包含了从75%上分位数到25%上分位数的数据,中间线为中位线。

3、随机数生成

R=rand(m,n):生成区间(0,1)上均匀分布的m行n列随机矩阵。

R=randn(m,n):生成标准正态分布N(0,1)的m行n列随机矩阵。

P=randperm(N): 生成1,2,…,N的一个随机排列。

实际上,计算机生成的是伪随机数,其生成机制由随机种子控制。rand和randn是最基本的随机数产生函数,他们允许用户自己设置随机种子。若将随机种子设为特定值,就可以是随机模拟称为可再现的。例如:

>> rand('state',1)>> randperm(5)

总是产生42513。另一方面,若将种子设置为系统时间

>> rand('state',sum(1000*clock))

则几乎可以得到真正的随机实验。

4、随机变量模拟

R=random(sist,p1,p2,…,m,n):

生成以p1,p2,…为参数的m行n列dist类分布随机数矩阵。dist是表示分布类型字符串。

R=unidrnd(N,m,n):生成1,2,…,N的等概率m行n列随机矩阵。

R=binornd(k,p,m,n):生成参数为k,p的m行n列二项分布随机数矩阵。

R=unifrnd(a,b,m,n):生成[a,b]区间上的连续型均匀分布m行n列随机数矩阵。

R=normrnd(mu,sigma,m,n):生成均值为μ,均方差为σ的m行n列正态分布随机数矩阵。

R=mvnrnd(mu,sigma,m):生成n维正态分布数据这里μ为n维均值向量,σ为n阶协方差矩阵(它必须是正定的),R为m*n矩阵,每行代表一个随机数。

注:通用随机数生成函数random可适用的分布类型包括:’discrete

uniform’(离散均匀分布),’binpmial’(二项分布),’normal’(正态分布),’poisson’(Poisson分布),’chi-square’(χ²分布),’t’(t分布),’f’(F

分布),’geometric’(几何分布),’hypergeometric’(超几何分布),’exponential’(指数分布),’gamma’(Γ分布),’weibull’(Weibull分布)等。

5、概率函数

y=pdf(dist,x,p1,p2,…):返回以p1,p2,…为参数的m行n列dist分布概率函数(分布率或密度函数)在x处的值。dist是表示分布类型的字符串,可适用的分布类型类似于random。

y=cdf(dist,x,p1,p2,…):返回以p1,p2,…为参数的m行n列dist类分布累计概率函数(即分布函数)在x处的值。dist是表示分布类型的字符串,可适用的分布类型类似于random。

y=icdf(dist,x,p1,p2,…):返回以p1,p2,…为参数的m行n列dist类分布函数(即下分位数)在x处的值,介于0~1。dist是表示分布类型的字符串,可适用的分布类型类似于random。

y=normpdf(x,mu,sigma):返回参数为μ和σ的正态分布密度函数在x处的值。

p=normcdf(x,mu,sigma):正态分布函数值。

x=norminv(p,mu,sigma):normedf的逆函数,即p下分位。

例如:

>> a=normpdf(90,80,10)-normpdf(70,80,10)

a =

0

>> b=normcdf(90,80,10)-normcdf(70,80,10)

b =

0.6827

>> p=(1-b)/2;>> c=norminv(p,80,10)

c =

70

>> d=norminv(1-p,80,10)

d =

90

>> pdf('normal',90,80,10)

ans =

0.0242

>> p=cdf('normal',90,80,10)

p =

0.8413

>> icdf('normal',p,80,10)

ans =

90

>> icdf('t',0.95,20) % 自由度为20的t分布95%下分位数

ans =

1.7247

6、统计推断

[muhat,sigmahat,muci,sigmaci]=normfit(x,alpha):正态总体N(μ,σ²)参数估计。求得列状样本数据x的点估计μ=muhat和σ=sigmahat,以及相应的100(1-α)%置信区间muci和sigmaci。α的默认值为0.05。

[h,sig]=ttest(x,m,alpha,tail):正态总体N均值t检验。检验列状样本数据x的均值是否为m;α为显著性水平(默认值0.05);参数tail为0表示双边检验(H1:μ≠μ0)(默认值),1表示右边检验(H1:μ>μ0),-1表示左边检验(H1:μ

[p,h]=ranksum(x,y):两个总体一致性的Wilcoxon秩和检验。p返回列状样本数据x和y分布相同的显著性概率。p<0.05时,h=1(拒绝H0)。

例如:

>> x=randn(200,1);>> [a,b,aci,bci]=normfit(x)

a =

0.0252

b =

1.0883

aci =

-0.1265 0.1769

bci =

0.9911 1.2068

>> [h,sig]=ttest(x,0) % 检验均值是否为0

h =

0

sig =

0.7436

>> y=normrnd(0,1,1000,1); % 生成1000个正态N(0,1)随机数>> [p,h]=ranksum(x,y) %检验x与y分布是否相同

p =

0.6298

h =

0

7、概率和统计相关指令

表1 概率统计主要MATLAB命令

主题词

意义

主题词

意义

max

最大值

random

随机数

min

最小值

unidrnd

离散均匀分布随机数

sum

各元素和

unifrnd

均匀分布随机数

cumsum

元素累计和

normrnd

正态分布随机数

prod

各元素积

binornd

二项分布随机数

cumprod

元素累计积

poissrnd

泊松分布随机数

mean

样本均值

mvnrnd

多维正态分布随机数

std

样本标准差

pdf

概率函数

var

样本方差

normcdf

正态分布密度

cov

样本协方差

cdf

累计概率函数(分布函数)

corrcoef

样本相关系数

normcdf

正态分布分布函数

sort

排序(从小到大)

icdf

逆分布函数

median

中值

norminv

正态分布下分位数

prctile

百分位数

tinv

t分布下分位数

trimmean

剔除极端数据的均值

chi2inv

χ²分布下分位数

bar

条形图

finv

F分布下分位数

hist

数据分组距频数图

mle

参数估计

boxplot

箱型图

normfit

正态分布参数估计

rand

[0,1]均匀分布随机数

ttest

单总体t检验

randn

标准正态分布随机数

ttest2

双总体t检验

randperm

随机排列

ranksum

分布秩和检验

最后

以上就是耍酷摩托为你收集整理的matlab中unifrnd函数用法,概率和统计的MATLAB指令的全部内容,希望文章能够帮你解决matlab中unifrnd函数用法,概率和统计的MATLAB指令所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部