我需要生成一个高斯向量,例如。 &#34;增量&#34; - 具有任意大小 - 具有零均值和方差&#34; alpha&#34;。 如果&#34; alpha&#34;选择使得范数(delta,2)<= 0.5,其概率为例如0。 90%。我们怎么能这样做?
答案 0 :(得分:0)
使用var.*randn(1000,1) + mu
,您可以生成具有特定方差var
且平均值为mu
的向量。然后我们计算norm(delta,2)
。此操作重复100000
次。在变量B
中,存储了norm(delta,2)<=0.5
的值。那么概率是Prob=length(B)/length(Normv)
mu = 0; alpha = 0.01537;
Normv=0;
REP=100000
for j=1:REP
delta = alpha.*randn(1000,1) + mu;
Normv(j)=norm(delta,2);
end
B=Normv(Normv<=0.5);
Prob=length(B)/length(Normv);
您还可以包含for循环,扫描方差
Normv=0;
mu = 0;
aux=1;
REP=10000;
variance = 0.014:0.0001:0.017;
for k=1:length(variance)
for j=1:REP
delta = variance(k).*randn(1000,1) + mu;
Normv(j)=norm(delta,2);
end
B=Normv(Normv<=0.5);
Prob(aux)=length(B)/length(Normv);
aux=aux+1;
end
plot(variance,Prob)
xlabel('Variance')
ylabel('Probability')
以下是生成的情节:
您要查找的alpha
(差异)为0.01537。 REP
越高,alpha
的精确度越高。