Cody

# Problem 2356. Simulating the selection of a state with given probabilities

Solution 453901

Submitted on 12 Jun 2014 by Guillaume
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
%% probs = rand; while sum(probs) < 1 a = rand; if a + sum(probs) > 1 probs = [probs 1-sum(probs)]; break; else probs = [probs a]; end end states = 1:length(probs); for i = 1:100 y{i,1} = select_state(probs); [nelements,centers] = hist(y{i},states); probs_result{i} = nelements/length(y{i}); error(i,1) = sum(abs(probs-probs_result{i})); end assert(mean(error) <= 0.05 & mean(error) > 0);

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

### Community Treasure Hunt

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

Start Hunting!