0
ガウスベクトルを生成する必要があります。 「デルタ」 - 任意のサイズ - ゼロ平均および分散「アルファ」。 ノルム(デルタ、2)が< = 0.5となるように「アルファ」が選択され、 90%。どうすればそれをすることができますか?matlabでガウスデータを生成する
ガウスベクトルを生成する必要があります。 「デルタ」 - 任意のサイズ - ゼロ平均および分散「アルファ」。 ノルム(デルタ、2)が< = 0.5となるように「アルファ」が選択され、 90%。どうすればそれをすることができますか?matlabでガウスデータを生成する
var.*randn(1000,1) + mu
を使用すると、特定の差異var
と平均mu
のベクトルを生成できます。次にnorm(delta,2)
を計算します。この操作は、100000
回繰り返されます。変数B
には、norm(delta,2)<=0.5
の値が格納されます。
alpha
(分散):確率はあなたがまた、ループのため、ここで
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')
分散を掃引が生成プロットで含めることができ、その後
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);
Prob=length(B)/length(Normv)
REP
が高いほど、
alpha
の精度が高くなります。
素敵な答えをありがとうございました。ご存知のように、norm(delta、2)では、カイ二乗分布でデータを取得します。 Chi-squared matlab関数を使って、このビューに基づいてデータを生成できますか? –
はい、置き換えることができます: "delta = alpha。* randn(1000,1)+ mu; Normv(j)= norm(delta、2);" chi2pdf(アルファ、アルファ)。私はこれを行うための機能を認識していません。これがあなたの問題を解決することを願っています。 – hello123
ありがとうございます。質問:このコードでは、次のように置き換えます:data = randn(1000,1); k = 1の場合の :長さ(分散) (j = 1の場合):REP デルタ=分散(k)。*データ+ Normv(j)=ノルム(デルタ、2); end %%なぜこの数字がわからないのですか? 私は、ループの前にランダムなデータを生成することを意味しますか? –