MATLAB Answers

here I am trying to get the random matrix with the elements only 1 and 0 where none of columns and rows can be 0 only and also the number of 0s and 1s should be in a percentage of 30% and 70%.

1 view (last 30 days)
gkboy
gkboy on 7 Aug 2018
Commented: Image Analyst on 8 Aug 2018
I am trying to get the random matrix with the elements only 1 and 0 where none of columns and rows can be 0s only or 1s only, and also the number of 0s and 1s should be in a percentage of 30% and 70%. They have to use probability
Requirements
  1. Random Matrix
  2. elements only 1s and 0s
  3. percentage of 0s: 1s is 3:7
  4. None of the columns and rows can be with only 0 and only 1. have to have mix
  2 Comments

Sign in to comment.

Answers (2)

Thorsten
Thorsten on 8 Aug 2018
Edited: Thorsten on 8 Aug 2018
N=5; % size
ok = false;
maxiter = 1000;
i = 1;
while ~ok & i < maxiter
z=zeros(N); % start w/ none
o=randperm(numel(z),round(0.7*numel(z))); % 70% are 1's
z(o)=1;
ok = ~any(all(z) | all(z, 2)' | all(~z) | all(~z, 2)');
i = i + 1;
end

dpb
dpb on 8 Aug 2018
N=5; % size
z=zeros(N); % start w/ none
o=randperm(numel(z),fix(numel(z)/2)); % 30% < ~50% < 70%
z(o)=1; % set the ones
>> ok=~(any(all(z) & all(z,2).')) % did we meet criteria?
ok =
logical
1
>>
Ayup...
  2 Comments
dpb
dpb on 8 Aug 2018
Yeah, the logic for the ok test isn't complete; the particular case was ok by inspection; it likely isn't a realistic ploy for practice; just a throwaway and probably shouldn't'a bothered...

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by