How to rearrange random binary input for each iteration?

1 view (last 30 days)
I am having 7 randomnly generated binary input. With this input I have performed some set of mathematical calculations. Now i need to repeat the mathematical calculations with changed order of binary input and this has to be followed for each iteration until a certain condition is met.
Example:
A = [011; 101; 010; 001; 100; 110; 111]
Expected output: Input order of A has to be varied for each iteration.

Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 9 Jan 2023
Have a look at the nextperm tool on the file exchange. It will allow you to cycle through all permutations.
HTH
  9 Comments
Walter Roberson
Walter Roberson on 10 Jan 2023
Just write the expression using indexing.
If you have a linear expression, you could use multiplication such as [3 -1 5 11 4 2 -5 ...] * col
A = randi([0 2^12-1], 1, 5)
for col = (dec2bin(A) - '0').'
row = col.'
result = row(1)*11 + row(2).^2 - row(3) + 7*row(4).^2 - row(5).^9 + row(6)*2 - row(7)*5 + row(8).^3 - row(9)*15 + row(10)*3 + row(11)*8 - row(9)*4 %some calculation
end
row = 1×12
1 0 1 1 1 1 1 0 1 0 0 0
result = -6
row = 1×12
1 1 1 1 0 1 0 0 1 0 0 0
result = 1
row = 1×12
1 0 1 1 0 1 1 0 0 1 0 0
result = 17
row = 1×12
1 0 1 0 0 0 1 0 1 0 1 1
result = -6
row = 1×12
1 1 0 0 1 1 0 0 1 1 0 0
result = -3

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!