0

我正在尝试生成 0 和 1 的随机序列,这样任何时候生成序列时,1 的概率都是 0.3。我在 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 回答