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 中查找有关 Creating and Concatenating Matrices 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by