永发信息网

matlab 生成一组服从正态分布的随机变量

答案:2  悬赏:0  手机版
解决时间 2021-03-23 09:11
  • 提问者网友:爱唱彩虹
  • 2021-03-22 12:29
matlab 生成一组服从正态分布的随机变量
最佳答案
  • 五星知识达人网友:第四晚心情
  • 2021-03-22 12:55
用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,方差越等于6,误差不超过0.01。
当然你也可以把精度调得更高一些,但很可能很久都找不到合适的随机数。

mean()是求平均值,var()是求方差,
取随机数之后乘以sqrt(6)是因为randn()取出的随机数方差在1左右,所以要放大一下。

还有随机数的个数我这里是100个,你可以随意修改。
全部回答
  • 1楼网友:你哪知我潦倒为你
  • 2021-03-22 13:27
normrnd(0,sqrt(6),10,5)%生成10行5列均值为0方差为6的正态分布随机数
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯