matlab如何产生正态分布数据
假设有n个学生,成绩为[60,100]区间内的整数,成正态分布,期望为80,方差为5,请问如何产生这n个学生的成绩。...
假设有n个学生,成绩为[60,100]区间内的整数,成正态分布,期望为80,方差为5,请问如何产生这n个学生的成绩。
展开
3个回答
展开全部
直接输入这个试试,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
命令 参数为μ,σ的正态分布的随机数据
函数 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
展开全部
randn 产生标准正态分布 N(0,1)
如果你想生成均值为a,方差为b的非标准正态分布N(a,b),则为:a+b*randn(m,n)。其中:m为行数,n为列数。
lognrnd 产生对数正态分布随机数
mvnrnd 产生多元正态分布随机数
如果你想生成均值为a,方差为b的非标准正态分布N(a,b),则为:a+b*randn(m,n)。其中:m为行数,n为列数。
lognrnd 产生对数正态分布随机数
mvnrnd 产生多元正态分布随机数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入下面公式:
round(normrnd(80,5,n))
round(normrnd(80,5,n))
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询