我有变量x,根据以下规则进行随机游走:
x(t+1)=x(t)-1; probability p=0.3
x(t+1)=x(t)-2; probability q=0.2
x(t+1)=x(t)+1; probability p=0.5
a)我必须创建这个初始化为零的变量并写一个for循环100步并运行10000次将每个最终值存储在xfinal中 b)我必须绘制xfinal(直方图)的概率分布,选择bin大小和规范化!! *我必须报告xfinal的均值和方差 c)我必须通过应用中心极限定理重建分布并在同一图上绘制概率分布!
帮助将告诉我如何选择bin大小和规范化直方图以及如何尝试部分c) 非常感谢你的帮助!!
p=0.3;
q=0.2;
s=0.5;
numberOfSteps = 100;
maxCount = 10000;
for count=1:maxCount
x=0;
for i = 1:numberOfSteps
random = rand(1, 1);
if random <=p
x=x-1;
elseif random<=(p+q)
x=x-2;
else
x=x+1;
end
end
xfinal(count) = x;
end
[f,x]=hist(xfinal,30);
figure(1)
bar(x,f/sum(f));
xlabel('xfinal')
ylabel('frequency')
mean = mean(xfinal)
variance = var(xfinal)
答案 0 :(得分:0)
对于第一个问题,请在mathworks主页上查看hist的帮助
[nelements,centers] = hist(data,nbins);
您不选择纸槽尺寸,而是选择纸槽数量。 nelements给出每个bin的元素,center是所有bin中心。所以说,调用
是一样的 hist(data,nbins);
作为
[nelements,centers] = hist(data,nbins);
plot(centers,nelements);
除了表示不同(行或堆)。要标准化,只需将nelements与sum(nelements)分开
对于c,这里是i.i.d.如果变量是真实的或复杂的,它实际上是一个差异。然而,对于实数变量,简称中心极限定理告诉您,对于大量样本,分布将限制正态分布。因此,如果样本是真实的,您只需确定正态分布,计算均值和方差,并将其绘制为正态分布。如果变量很复杂,那么每个变量都将是正态分布的,这意味着您将获得瑞利分布。