求教在matlab中生成服从正态分布的随机数

供稿:hz-xin.com     日期:2025-01-14
matlab里如何产生方差均值已知的服从正态分布的随机数?

mvnrnd(mu,sigma,number)——产生number个均值为mu,协方差矩阵为sigma的正态分布随机数
例子:
mvnrnd([1,2],[2 1;1 4],100)

正态分布的pdf的定义区间就是-inf到+inf,不存在定区间上的正态分布.如果楼主想求[-1,1]的近似正态分布,可利用randn()生成方差为1的标准正态分布随机数,再乘以1/3,生成标准差为1/3的正态分布随机变量.根据3σ准则,abs(X)>1的概率会很小,再加上条件,一旦abs(X)>1,重新生成以下,直到生成的X在指定区间上.

Y = randn(m,n)
生成均值为0 方差为1 m×n的由正态分布随机数构成的矩阵

help randn

>> help normrnd

NORMRND Random matrices from normal distribution.
R = NORMRND(MU,SIGMA) returns a matrix of random numbers chosen
from the normal distribution with parameters MU and SIGMA.

The size of R is the common size of MU and SIGMA if both are matrices.
If either parameter is a scalar, the size of R is the size of the other
parameter. Alternatively, R = NORMRND(MU,SIGMA,M,N) returns an M by N
matrix.

求教在matlab中生成服从正态分布的随机数
Y = randn(m,n)生成均值为0 方差为1 m×n的由正态分布随机数构成的矩阵

matlab中产生两个服从标准正态分布随机数的操作
生成服从标准正态分布(均值为0,方差为1)的随机数。基本语法和rand()类似。randn(5,1) %生成5个随机数排列的列向量,一般用这种格式 randn(5) %生成5行5列的随机数矩阵 randn([5,4]) %生成一个5行4列的随机数矩阵

matlab 生成一组服从正态分布的随机变量
用randn()可以生成高斯分布的随机数。不过只有先生成随机数才有方差和均值,反过来可难了。也只能使均值和方差近似等于0和6,用下面方法:x=randn(1,100)*sqrt(6);while abs(mean(x))>=0.01 | abs(var(x)-6)>=0.01 x=randn(1,100)*sqrt(6);end 这样生成的随机数列x,平均值约等于0...

求生成的成绩呈正态分布的matlab程序
a=randn(110,1)*50\/3+50 ;a=fix(a);%取整数 a=a(a>=0&a<=100); %剔除不符合要求数据 a=a(1:100); %到此a满足要求 生成正态分布的向量,均值50,标准差50\/3,也就是说 小于零或大于一百属于小概率事件,不过偶尔也还会发生的,超出的剔除了。如果想让高分和低分的比例高一些,...

用matlab生成一个服从标准正态分布的8*8矩阵,怎么实现?
randn()函数产生由随机数组成的数组,它的元素满足平均值为 0、 方差σ^2=1的正态分布。Y=randn(n)返回一个 n× n的随机矩阵。Y=randn(m,n)或 者 Y=randn([m,n])返回一个 m× n的 随机矩阵。MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的...

Matlab如何生成正太分布随机数,并画出直方图?
x=normrnd(MU,SIGMA,m,n): %生成m×n形式的正态分布的随机数矩阵。[a,b]=hist(x);bar(b,a\/sum(a))%频数直方图 比如:x=normrnd(1,1,100,1) %生成m×n形式的正态分布的随机数矩阵。[a,b]=hist(x);bar(b,a\/sum(a))%频数直方图 建议:自己操作一遍以检验之。

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

在matlab中如何产生服从正态分布 的整数
你不觉得你问的问题就是矛盾的吗?正态分布本身是连续的分布,而整数是离散的,怎么可能服从正态分布!下面的回答者说的round(randn(1,m))是产生正态随机数后再圆整,但得到的结果是不可能服从正态分布的

matlab如何产生正态分布数据
R = normrnd(MU,SIGMA,m,n) %m,n分别表示R的行数和列数 注意:在MATLAB中产生正态分布的参数分别为均值和标准差.在仿真的时候很容易将标准差用方差代替,造成仿真结果数据与期望的差别较大。因为自己吃了这个亏,所以在这里特别说明。一方面提醒自己不要犯类似的错误,也给其他人一个提醒.例:>>n1 ...

怎么用matlab生成1000个近似服从正态分布的随机数,随机数范围是0到1...
要求随机数范围在0-1之间,均值可取0.5;又由于正态分布99.7%的值在平均数左右三个标准差的范围内,所以标准差取0.5\/3。因为只是要近似服从正态分布,可以考虑把超出边界的少量数据直接放在中间,影响不大:D=randn(1000,1)\/6+0.5;D(D<0|D>1)=0.5;hist(D,30)...