matlab怎么随机生成正态分布矩阵 matlab里randn是啥意思?

[更新]
·
·
分类:行业
3365 阅读

matlab怎么随机生成正态分布矩阵

matlab里randn是啥意思?

matlab里randn是啥意思?

randn(n)是一种产生标准正态分布的随机数或矩阵的函数,返回一个n*n的随机项的矩阵。
randn(1)则返回一个随机值,这个值符合标准正态分布,即期望μ为0,方差σ^2为1。
randn(1)*3 3就是这个随机值乘3再加3,也可以看成把标准正态分布的期望μ改为3,方差σ^2扩大为9。

matlab中如何生成标准正态分布随机数向量?

matlab中生成标准正态分布随机数向量,randperm(100)生成100以内的随机数(100个)randn(100,1)生成服从(0,1)正态分布的随机数(100个)
MATLAB还有很多随机数发生器,楼主可以根据需要选取。matlab中生成标准正态分布随机数向量,randperm(100)生成100以内的随机数(100个)randn(100,1)生成服从(0,1)正态分布的随机数(100个)
MATLAB还有很多随机数发生器,楼主可以根据需要选取。

如何在MATLAB中进行正态分布检验?

可以使用jbtest函数和adtest函数。具体用法如下:
1. 雅各-贝拉检验(Jarque-Bera test)
h jbtest(x, alpha) % x为向量数据。h 1 则说明数据不服从正态分布,如果h 0,则说明数据服从正态分布。alpha为显著性水平,一般为0.05。
2. 安德森-达令检验(Anderson-Darling test)
h adtest(x) % x为向量数据。h 1 则说明数据不服从正态分布,如果h 0,则说明数据服从正态分布。默认显著性水平为0.05。

这样的数据如何将其转换为正态分布?

不是所有数据都是正态分布,比如counting data,有大量的0值存在,Poisson distribution能更好的刻画之。所以并不存在万能的转换把非正态分布数据变成正态分布。这是需要注意的。在普遍常用的转换应用中,有log transformation,把数据取对数值后能改善。
另外在线性模型中(linear model),Box和Cox两人在1964年给出了box-cox transformation来把非正态分布数据转换成正态分布,通过极大似然法来估计参数lambda,而lambda0时就是常见的log transformation。
在R,SPSS,MATLAB里面都可以进行box-cox transformation。此外,针对不同的数据情况,Manly在1971年,John和Draper在1980年,Bickel和Doksum在1981年,Yeo和Johnson在2000年分别对box-cox transformation进行了改进。