Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Solution 197839

Submitted on 28 Jan 2013 by James

Correct

12Size
Leading solution size is 11.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test
Code Input and Output
1
Pass
 
%% positive integers
x = 5;
assert(isequal(unique(rand_plusminus1(x)),[-1;1]))
ans =
    -1     1     1     1    -1
     1     1    -1     1    -1
    -1     1     1     1    -1
    -1    -1    -1    -1    -1
     1     1    -1     1     1
2
Pass
 
%% one element
x = 1;
assert(isequal(abs(rand_plusminus1(x)),1))
ans =
    -1
3
Pass
 
%% zero => empty matrix
x = 0;
assert(isequal(rand_plusminus1(x),[]))
ans =
     []
4
Pass
 
%% positive integers
x = 999;
assert(isequal(unique(rand_plusminus1(x)),[-1;1]))
ans =
  Columns 1 through 16
     1    -1     1     1    -1    -1     1    -1    -1    -1     1    -1    -1    -1    -1    -1
    -1     1     1     1     1     1    -1    -1    -1    -1    -1     1    -1    -1    -1    -1
     1     1     1    -1     1    -1    -1    -1    -1    -1    -1    -1    -1     1     1    -1
    -1     1    -1     1    -1    -1     1    -1     1    -1     1    -1     1     1     1    -1
     1    -1     1     1    -1     1    -1     1    -1     1    -1     1     1    -1     1    -1
     1    -1     1     1    -1    -1    -1     1    -1    -1     1     1     1    -1     1     1
     1     1    -1    -1     1    -1    -1     1     1     1    -1     1    -1     1     1     1
    -1     1    -1    -1     1     1    -1    -1     1    -1     1     1    -1     1    -1    -1
    -1    -1     1    -1    -1     1     1    -1     1    -1    -1     1     1     1     1    -1
    -1    -1    -1    -1     1     1    -1    -1     1     1    -1     1    -1    -1    -1    -1
     1     1     1     1    -1     1     1     1     1     1     1    -1     1     1     1     1
    -1    -1     1    -1    -1     1     1     1    -1    -1    -1     1    -1    -1    -1    -1
     1     1     1    -1     1     1    -1     1     1    -1     1     1     1     1    -1     1
     1    -1     1    -1     1    -1    -1    -1     1     1     1     1    -1     1    -1    -1
     1    -1    -1     1     1    -1     1    -1    -1    -1    -1     1    -1     1    -1     1
    -1     1    -1    -1    -1     1    -1    -1     1    -1    -1     1    -1     1    -1     1
    -1     1     1     1    -1     1     1     1     1    -1    -1     1     1    -1     1     1
    -1     1     1    -1    -1     1     1     1    -1    -1    -1    -1     1     1     1     1
     1    -1     1    -1    -1     1    -1    -1     1    -1     1     1     1    -1     1     1
    -1    -1     1    -1    -1    -1     1    -1    -1     1     1    -1     1    -1    -1    -1
     1    -1     1     1     1    -1    -1    -1     1     1    -1    -1    -1     1    -1    -1
     1    -1     1    -1     1    -1     1     1    -1     1     1     1    -1    -1    -1    -1
     1    -1    -1    -1    -1    -1    -1     1    -1    -1     1    -1     1    -1    -1    -1
    -1     1     1     1     1     1     1     1     1    -1    -1     1     1    -1     1     1
    -1    -1     1     1     1    -1    -1     1     1    -1     1    -1     1    -1     1     1
    -1    -1    -1    -1     1     1     1    -1     1    -1     1    -1    -1    -1     1     1
     1     1     1     1    -1     1     1    -1     1     1     1    -1     1     1    -1     1
    -1     1     1     1    -1     1     1    -1     1    -1    -1    -1     1     1    -1    -1
     1    -1    -1    -1    -1    -1     1     1     1    -1    -1    -1    -1     1    -1    -1
    -1    -1     1    -1    -1     1     1    -1    -1     1     1    -1    -1    -1     1     1
    -1    -1    -1     1     1    -1    -1    -1    -1    -1    -1    -1     1     1     1     1
    -1    -1    -1     1    -1    -1    -1    -1     1     1    -1    -1    -1    -1     1    -1
    -1     1    -1    -1     1     1    -1     1     1     1    -1    -1     1     1    -1    -1
     1     1    -1    -1     1     1     1     1    -1     1    -1    -1     1    -1     1     1
     1     1    -1     1     1    -1    -1    -1     1     1     1     1    -1    -1    -1    -1
     1    -1     1     1    -1     1    -1     1     1     1    -1     1    -1     1     1     1
    -1    -1    -1     1    -1    -1     1     1    -1     1     1    -1     1    -1     1     1
     1    -1    -1    -1     1     1     1     1     1     1    -1    -1     1    -1    -1     1
     1     1    -1     1    -1    -1    -1    -1     1    -1     1    -1     1     1     1    -1
    -1    -1     1     1     1    -1     1     1    -1    -1    -1    -1    -1    -1    -1     1
     1     1    -1     1    -1    -1    -1     1     1    -1    -1    -1    -1    -1     1     1
    -1     1     1    -1     1     1    -1    -1    -1    -1     1    -1    -1    -1    -1    -1
    -1    -1     1    -1     1     1    -1    -1     1     1     1    -1    -1    -1     1     1
    -1     1     1    -1    -1     1    -1    -1     1     1    -1     1     1    -1    -1     1
    -1    -1    -1     1    -1     1    -1     1    -1    -1     1     1     1    -1    -1    -1
    -1    -1     1     1    -1     1    -1    -1     1    -1     1     1     1    -1    -1     1
    -1     1     1    -1    -1    -1    -1    -1     1    -1     1     1     1    -1    -1     1
    -1     1    -1     1     1     1     1    -1     1    -1    -1    -1     1    -1     1     1
    -1     1    -1     1     1    -1     1    -1     1     1    -1    -1    -1     1    -1     1
     1     1    -1     1    -1     1    -1     1    -1    -1    -1    -1     1    -1     1    -1
     1    -1     1    -1    -1    -1     1    -1    -1     1    -1    -1    -1     1    -1     1
    -1     1    -1    -1    -1     1     1     1    -1    -1    -1     1     1     1     1     1
    -1    -1     1     1     1     1     1    -1     1     1    -1     1     1    -1     1     1
    -1     1     1     1     1    -1     1    -1     1    -1    -1     1     1     1    -1     1
     1     1     1    -1     1     1     1    -1    -1     1     1    -1    -1    -1    -1    -1
    -1     1    -1    -1     1    -1    -1    -1     1     1     1     1    -1     1    -1     1
    -1    -1    -1     1     1    -1     1     1    -1    -1    -1    -1    -1     1    -1    -1
     1     1     1    -1    -1     1     1     1     1     1     1     1    -1     1     1     1
    -1     1    -1     1     1     1    -1    -1    -1    -1    -1    -1    -1    -1     1    -1
    -1    -1    -1     1    -1     1    -1     1    -1    -1    -1    -1    -1    -1    -1     1
    -1     1    -1    -1    -1    -1     1    -1     1     1     1    -1     1     1     1     1
    -1     1    -1    -1     1    -1    -1     1    -1     1    -1     1     1     1    -1     1
    -1     1     1    -1    -1    -1    -1    -1    -1     1    -1     1    -1    -1     1    -1
     1    -1     1     1     1    -1     1     1    -1     1    -1     1    -1     1    -1    -1
     1     1     1     1    -1     1    -1    -1    -1    -1    -1     1    -1    -1     1    -1
     1    -1     1     1    -1     1    -1     1     1     1    -1    -1    -1     1    -1    -1
    -1     1    -1    -1     1    -1    -1    -1     1    -1    -1     1    -1     1    -1     1
    -1    -1    -1     1    -1     1    -1    -1     1    -1    -1    -1    -1    -1     1     1
    -1    -1    -1     1     1     1     1    -1     1     1     1     1     1    -1     1     1
     1     1     1    -1    -1     1    -1     1     1    -1    -1    -1     1     1     1    -1
    -1     1     1    -1     1     1     1    -1    -1    -1     1    -1    -1     1     1    -1
    -1    -1    -1     1     1     1     1     1     1     1    -1    -1     1    -1     1    -1
    -1     1    -1     1    -1    -1    -1    -1    -1    -1    -1    -1     1     1     1    -1
     1     1    -1     1    -1    -1     1    -1    -1    -1     1    -1     1    -1     1    -1
     1     1     1    -1    -1     1    -1     1     1     1     1    -1    -1    -1     1    -1
     1    -1     1    -1     1    -1     1    -1    -1    -1    -1     1     1    -1     1    -1
    -1    -1    -1    -1    -1     1    -1    -1    -1    -1     1     1     1     1     1    -1
     1     1    -1     1    -1     1     1    -1    -1    -1    -1    -1     1     1    -1    -1
    -1    -1    -1    -1    -1    -1     1     1    -1    -1    -1    -1     1    -1    -1     1
     1    -1     1    -1     1     1    -1     1     1    -1    -1    -1     1    -1    -1     1
    -1     1    -1    -1    -1    -1    -1    -1    -1     1     1     1    -1     1    -1    -1
     1     1     1     1     1    -1     1    -1     1    -1    -1     1     1    -1    -1     1
    -1     1    -1    -1    -1     1     1     1    -1    -1    -1    -1    -1     1     1    -1
    -1     1     1     1    -1    -1     1    -1     1    -1    -1     1     1     1    -1    -1
     1    -1     1     1     1    -1     1     1     1     1    -1    -1    -1    -1     1    -1
     1    -1     1     1    -1    -1    -1    -1     1     1    -1    -1     1    -1    -1    -1
    -1    -1     1     1     1    -1     1    -1    -1     1     1    -1    -1     1    -1     1
     1    -1     1    -1    -1     1    -1     1     1     1     1     1    -1    -1    -1    -1
     1     1    -1     1    -1     1     1     1    -1     1     1    -1     1    -1    -1     1
    -1     1     1     1     1    -1    -1    -1    -1     1     1     1     1    -1     1    -1
    -1    -1    -1     1     1     1     1     1    -1     1    -1     1     1    -1    -1    -1
    -1     1    -1     1     1     1     1     1    -1     1     1     1    -1     1     1     1
    -1    -1    -1     1    -1     1     1     1    -1     1     1     1    -1     1    -1    -1
     1     1     1     1    -1     1     1     1    -1     1    -1    -1    -1     1    -1     1
     1    -1    -1    -1     1    -1    -1     1    -1     1    -1     1     1    -1     1    -1
     1     1     1    -1     1     1     1    -1    -1    -1    -1     1     1    -1     1     1
     1    -1     1    -1    -1     1     1    -1    -1     1     1    -1    -1    -1     1    -1
     1     1     1    -1    -1     1     1    -1     1    -1     1    -1     1    -1     1    -1
    -1     1     1    -1     1     1    -1    -1    -1     1     1    -1     1     1     1    -1
     1    -1    -1     1     1     1     1    -1     1    -1    -1    -1    -1     1     1    -1
     1     1     1    -1     1     1    -1     1    -1    -1     1     1    -1    -1     1     1
    -1    -1     1    -1    -1    -1    -1    -1     1    -1     1     1    -1     1    -1    -1
     1    -1     1    -1    -1    -1     1     1     1     1     1     1    ...