0

シーケンスが生成されるたびに 1 の確率が 0.3 になるように、0 と 1 のランダムなシーケンスを生成しようとしています。Matlabで次のことを試しました

%%clear all; %%close all;clc; %%(rand(1,10)<=0.3)

問題は、これを実行するたびに、1 の割合が異なることです。誰でもより良いアプローチを提案できますか?

4

1 に答える 1

6

最後に正確に 0.3 のプロポーションが必要な場合は、次のようにします

n=1000; %should be a multiple of 10.
x=[ones(1,n*3/10) zeros(1,n*7/10)];
x=x(randperm(n));

0.3基本的に、 の割合で配列を作成します1

次に、ランダムに並べ替えます。

于 2012-10-21T22:34:41.300 に答える