How to rearrange random binary input for each iteration?

2 次查看(过去 30 天)
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.

回答(1 个)

Bjorn Gustavsson
Bjorn Gustavsson 2023-1-9
Have a look at the nextperm tool on the file exchange. It will allow you to cycle through all permutations.
HTH
  9 个评论
Walter Roberson
Walter Roberson 2023-1-10
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by