如何matlab取正态分布随机数

如题所述

运用normrnd函数。

1. R=normrnd(MU,SIGMA):生成服从正态分布(MU参数代表均值,SIGMA参数代表标准差)的随机数。输入的向量或矩阵MU和SIGMA必须形式相同,输出R也和它们形式相同。标量输入将被扩展成和其它输入具有相同维数的矩阵。

2. R=normrnd(MU,SIGMA,m,n): 生成m×n形式的正态分布的随机数矩阵。

实例:生成均值为0,标准差为1的2*2正态分布随机矩阵。

拓展说明:

matlab中还有个函数randn,可以产生均值为0,方差σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵。

Y = randn(n)返回一个n*n的随机项的矩阵;

Y = randn(m,n)  或 Y = randn([m n]):返回一个m*n的随机项矩阵。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-12
使用randn或者normpdf
randn 产生标准正态分布 转成需要的非正态分布: r = μ + δ*randn(m,n);
normpdf 产生正态分布normpdf(x,μ,δ) x为范围本回答被提问者采纳
第2个回答  2012-08-12
randn 标准正态分布

如果你想变成你的需要的均值和方差的话:
a+b*randn

均值是a,标准差是b。

如果你想产生很多,比如一个1000*1的向量,那么在randn后边加括号,写上尺寸就行了
randn([1000,1]);本回答被网友采纳
相似回答