【发布时间】:2018-12-23 10:19:12
【问题描述】:
我想在MATLAB 中生成单位为Mean(mean=1) 的高斯随机过程。我试图做 randn 函数,但后来我知道它只能在平均值为0 时使用,所以我尝试手动编写该过程。我想用mean = 1 和var = 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.3406 和 v=0.0024。你能帮忙吗?
【问题讨论】:
-
N是高斯过程的样本向量。g1是(一阶)密度函数。我认为你误会了这两件事。此外,我不明白您为什么将密度函数应用于样本。您是否只想生成具有单位均值的样本N?在这种情况下,只需使用N = 1 + rand(1000,1); -
使用高斯函数而不是randn函数是否正确,还是应该尝试其他方法?
-
抱歉,在我之前的评论中,我指的是
randn,而不是rand。如果您尝试N = 1 + randn(1000,1);并检查mean(N), var(N),您会发现它们非常接近1