【问题标题】:MATLAB Random Number GeneratorMATLAB 随机数生成器
【发布时间】:2015-03-05 23:17:48
【问题描述】:

我是Matlab的初学者,无法解决下面的问题。

"从z(0,1)高斯随机变量开始;生成10000个均值10,方差1的随机变量;称之为r6向量。

乍一看,我试着写成 r6=10+1*randn(10000,1);但我不确定它是否正确。任何帮助将不胜感激。非常感谢

【问题讨论】:

  • 没错。看起来你已经搞定了。
  • 我只会添加一个sqrtr6=10+sqrt(1)*randn(10000,1);。当然1it 没有区别;我的意思是一般情况
  • @LuisMendo 好点,忽略了这一点,OP 可能也是!
  • 没有。 r6=10+1*rand(10000,1) 会给你一个统一的 RV(不是高斯),其 std 等于 1/sqrt(12)(不是 1
  • 为什么:只计算一个 pdf 的方差,它在 [0 1] 中为 1,在该区间外为 0。或查看here。要生成均值为 10、方差为 1 的 均匀 随机数:r6=10+sqrt(12)*(rand(10000,1)-.5)。我会让你弄清楚为什么会这样:-)

标签: matlab random


【解决方案1】:

您可以在事后测试您的分布是否具有正确的均值和标准偏差

 mean(r6)
 std(r6)

请注意,正如 LuisMendo 正确指出的那样,您得到了方差,因此您应该确保适当地取根/平方:

  variance = std(r6)^2

【讨论】:

  • @Jason 另请注意,mean(r6)std(r6)样本均值/标准差,它们只是“true 的近似值" 平均值/标准差。因此,您应该期望获得的值存在一些偏差;这些偏差当然会随着r6 的大小而减少。
猜你喜欢
  • 2010-12-25
  • 1970-01-01
  • 1970-01-01
  • 2018-01-03
  • 2016-03-18
  • 2014-10-30
  • 1970-01-01
  • 1970-01-01
  • 2023-01-03
相关资源
最近更新 更多