【问题标题】:Gaussian Random Process with Unit Mean具有单位均值的高斯随机过程
【发布时间】:2018-12-23 10:19:12
【问题描述】:

我想在MATLAB 中生成单位为Mean(mean=1) 的高斯随机过程。我试图做 randn 函数,但后来我知道它只能在平均值为0 时使用,所以我尝试手动编写该过程。我想用mean = 1var = 1 编写高斯函数。我试过这段代码:

N = rand(1000,1);
g1 = (1/(sqrt(2*pi)))*exp(-((N-1).^2)/2);
plot(g1)
m = mean(g1)
v = var(g1)

但是,当我检查均值和方差值时,我得到 m=0.3406v=0.0024。你能帮忙吗?

【问题讨论】:

  • N 是高斯过程的样本向量。 g1 是(一阶)密度函数。我认为你误会了这两件事。此外,我不明白您为什么将密度函数应用于样本。您是否只想生成具有单位均值的样本N?在这种情况下,只需使用N = 1 + rand(1000,1);
  • 使用高斯函数而不是randn函数是否正确,还是应该尝试其他方法?
  • 抱歉,在我之前的评论中,我指的是randn,而不是rand。如果您尝试N = 1 + randn(1000,1); 并检查mean(N), var(N),您会发现它们非常接近1

标签: matlab random gaussian


【解决方案1】:

如果您从 randn() 中获取向量,然后添加一个,它将具有与以前相同的标准差,但现在它的平均值也将为 1。

v=randn(1000,1)+1

【讨论】:

  • 一个小技巧,你可以在你的答案中使用代码高亮。这是通过使用v=randn(1000,1)+1 前面的四个空格和内联代码周围的撇号(或任何该符号)来实现的,如帮助中所示。
猜你喜欢
  • 2013-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多