Cody

# Problem 1090. Create a random logical vector of N elements of which M are true.

Solution 927269

Submitted on 25 Jul 2016 by Stephanie O'Neil
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
n = 10; m = 4; y = random_binary(n,m); assert(islogical(y) && isequal(sum(y),m) && abs(std(diff(y)>0)-0.45)<0.2)

y = 0 0 1 0 1 0 0 1 0 1

2   Pass
n = 1000; m = 500; y = random_binary(n,m); assert(islogical(y) && isequal(sum(y),m) && abs(std(diff(y)>0)-0.45)<0.05)

y = Columns 1 through 16 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 0 Columns 17 through 32 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 Columns 33 through 48 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 Columns 49 through 64 1 1 0 0 1 0 0 0 1 1 0 0 1 0 1 0 Columns 65 through 80 0 1 0 1 0 1 0 0 1 1 0 0 1 0 0 1 Columns 81 through 96 1 1 0 1 0 1 1 0 1 1 1 0 1 0 1 1 Columns 97 through 112 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 Columns 113 through 128 0 1 1 0 1 0 1 0 0 0 0 1 0 1 0 1 Columns 129 through 144 1 0 0 0 1 1 0 1 1 1 0 1 0 0 1 1 Columns 145 through 160 1 1 1 0 0 0 0 1 1 0 1 0 1 1 1 1 Columns 161 through 176 0 0 0 1 0 1 0 1 0 1 1 1 1 1 1 0 Columns 177 through 192 1 1 0 1 1 0 0 0 1 0 0 0 1 1 0 1 Columns 193 through 208 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 Columns 209 through 224 1 0 0 0 0 1 1 1 1 0 0 1 1 0 1 1 Columns 225 through 240 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 Columns 241 through 256 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 1 Columns 257 through 272 1 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 Columns 273 through 288 0 1 0 1 1 1 1 1 0 0 1 1 0 1 0 0 Columns 289 through 304 0 0 1 1 1 0 1 1 1 0 0 0 1 1 0 0 Columns 305 through 320 0 1 1 0 1 1 1 1 1 1 0 1 0 0 1 1 Columns 321 through 336 0 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 Columns 337 through 352 0 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 Columns 353 through 368 1 1 0 1 0 1 0 0 1 1 0 0 0 1 0 0 Columns 369 through 384 0 1 0 0 1 0 0 1 1 1 1 1 1 0 0 1 Columns 385 through 400 1 1 0 1 1 1 1 1 0 1 1 1 0 0 1 1 Columns 401 through 416 1 1 0 1 0 1 0 0 1 1 0 0 1 1 1 0 Columns 417 through 432 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1 0 Columns 433 through 448 1 0 0 0 1 1 0 1 0 1 1 1 0 0 0 1 Columns 449 through 464 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 0 Columns 465 through 480 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 Columns 481 through 496 0 1 0 1 1 1 0 0 0 1 1 1 0 0 1 0 Columns 497 through 512 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 Columns 513 through 528 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 Columns 529 through 544 1 1 0 1 1 1 1 1 1 0 1 0 1 0 1 0 Columns 545 through 560 0 1 1 1 1 0 1 0 0 0 0 0 1 1 0 1 Columns 561 through 576 0 1 0 0 1 0 0 1 1 1 0 1 1 0 1 0 Columns 577 through 592 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 Columns 593 through 608 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 1 Columns 609 through 624 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 0 Columns 625 through 640 0 1 0 0 0 1 1 0 0 0 1 1 1 1 0 0 Columns 641 through 656 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 Columns 657 through 672 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 Columns 673 through 688 1 0 1 1 1 1 1 1 0 1 0 1 0 0 1 1 Columns 689 through 704 0 1 0 0 0 0 1 1 1 1 0 1 1 0 0 0 Columns 705 through 720 0 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 Columns 721 through 736 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 0 Columns 737 through 752 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 Columns 753 through 768 1 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 Columns 769 through 784 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 Columns 785 through 800 1 0 0 0 1 1 0 1 0 1 0 1 1 1 0 1 Columns 801 through 816 0 1 1 1 1 0 0 0 0 0 0 0 1 0 1 0 Columns 817 through 832 1 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 Columns 833 through 848 1 1 1 0 1 1 1 1 0 0 0 1 1 0 1 0 Columns 849 through 864 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 Columns 865 through 880 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 Columns 881 through 896 1 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1 Columns 897 through 912 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 0 Columns 913 through 928 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 1 Columns 929 through 944 1 1 0 1 0 0 0 0 1 1 1 0 0 0 1 1 Columns 945 through 960 1 1 1 0 0 0 0 1 1 1 1 1 0 1 0 0 Columns 961 through 976 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 Columns 977 through 992 1 1 1 0 1 0 0 0 0 0 0 0 1 0 1 1 Columns 993 through 1000 1 1 1 0 0 0 0 0

3   Pass
n = 500; m = 20; y = random_binary(n,m); assert(islogical(y) && isequal(sum(y),m) && abs(std(diff(y)>0)-0.18)<0.05)

y = Columns 1 through 16 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Columns 17 through 32 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 Columns 33 through 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 Columns 49 through 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 65 through 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 81 through 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 97 through 112 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 Columns 113 through 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 129 through 144 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 145 through 160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 161 through 176 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 Columns 177 through 192 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 Columns 193 through 208 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 209 through 224 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 225 through 240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 241 through 256 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 Columns 257 through 272 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 Columns 273 through 288 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 289 through 304 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 305 through 320 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 321 through 336 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 Columns 337 through 352 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 353 through 368 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 Columns 369 through 384 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 385 through 400 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 Columns 401 through 416 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 Columns 417 through 432 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 433 through 448 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 Columns 449 through 464 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 465 through 480 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 Columns 481 through 496 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Columns 497 through 500 0 0 0 0