How to generate random matrix of 0 and 1 of distinct rows?

3 Ansichten (letzte 30 Tage)
Cantor Set
Cantor Set am 21 Feb. 2020
Beantwortet: Spencer Chen am 21 Feb. 2020
There is a function already in MATLAB GAtoolbox: crtbp.m that generates a random matrix of zeros and ones but when I performed the following loop I found that some instances there will be identical rows in the random matrix:
for i=1:200
Ro=crtbp(5,5);
u=unique(Ro, 'rows');
uu=size(u,1); rr=size(Ro,1);
if uu~=rr
x=1
break;
end
end
>> uniquetest
x =
1
______________________________________________________________________
I need the rows to be distincit, is there a function in matlab to do so ?

Akzeptierte Antwort

Spencer Chen
Spencer Chen am 21 Feb. 2020
I don't know if there are any.
But it's easy to write one for your specific case where you only have 5 columns. That is quite mangeable, because you only will have 2^5 = 32 patterns to select from. Something like using randperm() then to pick 5 patterns from 32 would work for you.
Blessings,
Spencer

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by