matlab如何产生正态分布数据

假设有n个学生,成绩为[60,100]区间内的整数,成正态分布,期望为80,方差为5,请问如何产生这n个学生的成绩。

直接输入这个试试,round(normrnd(80,5,n))
命令 参数为μ,σ的正态分布的随机数据
函数 normrnd
格式 :
R = normrnd(MU,SIGMA) %返回均值为MU,标准差为SIGMA的正态分布的随机数据,R可以是向量或矩阵.
R = normrnd(MU,SIGMA,m) %m指定随机数的个数,与R同维数.
R = normrnd(MU,SIGMA,m,n) %m,n分别表示R的行数和列数
注意:在MATLAB中产生正态分布的参数分别为均值和标准差.在仿真的时候很容易将标准差用方差代替,造成仿真结果数据与期望的差别较大。因为自己吃了这个亏,所以在这里特别说明。一方面提醒自己不要犯类似的错误,也给其他人一个提醒.
例:
>>n1 = normrnd(1:6,1./(1:6))
n1 =
2.1650 2.3134 3.0250 4.0879 4.8607 6.2827
>>n2 = normrnd(0,1,[1 5])
n2 =
0.0591 1.7971 0.2641 0.8717 -1.4462
>>n3 = normrnd([1 2 3;4 5 6],0.1,2,3) %mu为均值矩阵
n3 =
0.9299 1.9361 2.9640
4.1246 5.0577 5.9864
>> R=normrnd(10,0.5,[2,3]) %mu为10,sigma为0.5的2行3列个正态随机数
R =
9.7837 10.0627 9.4268
9.1672 10.1438 10.5955
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-01-04
randn 产生标准正态分布 N(0,1)
如果你想生成均值为a,方差为b的非标准正态分布N(a,b),则为:a+b*randn(m,n)。其中:m为行数,n为列数。

lognrnd 产生对数正态分布随机数
mvnrnd 产生多元正态分布随机数
第2个回答  推荐于2017-11-26
输入下面公式:
round(normrnd(80,5,n))本回答被提问者采纳

matlab如何产生正态分布数据
格式 :R = normrnd(MU,SIGMA) %返回均值为MU,标准差为SIGMA的正态分布的随机数据,R可以是向量或矩阵.R = normrnd(MU,SIGMA,m) %m指定随机数的个数,与R同维数.R = normrnd(MU,SIGMA,m,n) %m,n分别表示R的行数和列数 注意:在MATLAB中产生正态分布的参数分别为均值和标准差.在仿真...

matlab怎么生成正态分布随机数
第一步我们首先需要知道matlab中可以使用randn函数生成正态分布随机数,在命令行窗口中输入“help randn”,可以看到randn函数的使用方法,如下图所示:第二步输入randn(5),生成一个均值为0,方差和标准差为1的5行5列正态分布随机数矩阵,如下图所示:第三步输入randn(3,4),可以生成一个3行4列的...

matlab如何生成正态分布?
randn产生标准正态分布N(0,1)如果你想生成均值为a,方差为b的非标准正态分布N(a,b),则为:a+b*randn(m,n)。其中:m为行数,n为列数。lognrnd产生对数正态分布随机数mvnrnd产生多元正态分布随机数

Matlab 产生正态分布高斯随机数
Matlab在数值计算与科学应用领域中有着广泛的应用。其中,产生正态分布的高斯随机数是经常需要进行的操作。Matlab提供了一系列函数来满足这一需求。其中一个重要的函数是normrnd,用于生成正态分布的随机数矩阵。具体使用方式为:R = normrnd(MU,SIGMA,m,n)。其中,MU代表均值,SIGMA代表标准差,m和n则...

如何matlab取正态分布随机数
使用randn或者normpdf randn 产生标准正态分布 转成需要的非正态分布:r = μ + δ*randn(m,n);normpdf 产生正态分布normpdf(x,μ,δ)x为范围

matlab如何产生二维正态分布随机数
1、第一步,基于实验获得一条数据,要确定是否服从分布,将其转换为直方图,一些数据如图所示,转到下面的步骤。2、第二步,完成上述步骤后,将某些数据规则(例如距离范围等)分组,即将相似的数据记录分组为一类,并记录该组的频率(数量),见下图,转到下面的步骤。3、第三步,完成上述步骤后,数据...

MATLAB中已知标准差和均值(均值为负),怎样画出正态分布图?
已知标准差和均值(均值为负),可以这样画出正态分布图。x=[。。。];mu=mean(x); %均值 sigma=std(x); %标准差 P=normcdf(x,mu,sigma); %正态分布值 plot(x,P,'*')

matlab 如何产生正态分布
分布函数是normcdf(x,0,.1)其中x是你要取的随机变量值密度函数是normpdf(x,0,.1)其中x是你要取的随机变量值随机数是normrnd(0,.1,m,n)其中m和n是生成m行n列的随机数答案2:: randn()查找help:::请参考以下相关问题:::matlab 正态分布:::...

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画正态分布图
MATLAB里有直接的函数。调用语法如下:(正态分布又被称为高斯分布)y = gaussmf(x,[sig c])其中x是变量,sig就是你图片里的σ,而c就是你图片里的μ,比如:下面是一个例子,你可以直接复制到MATLAB中运行就可以得到一个方差为2,均值为5的正态分布函数了:x=0:0.1:10;y=gaussmf(x,[2 5...

相似回答