1 view (last 30 days)

Show older comments

Hi, I have 60 trials which have two outcomes 0 and 1 with probabilities of 80% and 20%.

I want to randomise this 60x1 matrix in such a way that every 5 iterations, outcome 0 occurs 4 times and outcome 1 occurs once as they should.

I tried using ransrc but the 5x1 matrices that I get as an outcome very rarely match the desired probabilites.

Mohammad Alhashash
on 13 Oct 2021

You can use the randperm function to build 12 basic 5-by-1 matrices and then map the values into 0 and 1 based one your probabilities.

Here what do I mean:

A = [];

m = 60; %length of the main matrix A

for i=1:5:m

a = randperm(5)';

a(a~=1) = 0; % this based on your probability, I used 20% 1 and 80% 0

A = [A;a];

end

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!