生成0和1的序列,使得在任何试验后1的概率为0.3

时间:2012-10-21 20:33:52

标签: matlab probability

我正在尝试生成0和1的随机序列,这样无论何时生成序列,1的概率都是0.3。我在Matlab中尝试了以下内容

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

问题在于,每次运行时,我都会获得不同比例的1。 任何人都可以提出更好的方法吗?

1 个答案:

答案 0 :(得分:6)

如果你想在最后 exactely 一个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的数组。

然后,它随机置换它。