How to rearrange random binary input for each iteration?
Mostrar comentarios más antiguos
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.
Respuestas (1)
Bjorn Gustavsson
el 9 de En. de 2023
0 votos
Have a look at the nextperm tool on the file exchange. It will allow you to cycle through all permutations.
HTH
9 comentarios
ASHA PON
el 10 de En. de 2023
This does not give a binary vector
A = [011; 101; 010; 001; 100; 110; 111]
Those are decimal, base 10 numbers, not base 2 numbers.
Please attach your actual code.
ASHA PON
el 10 de En. de 2023
Editada: Walter Roberson
el 10 de En. de 2023
Walter Roberson
el 10 de En. de 2023
Editada: Walter Roberson
el 10 de En. de 2023
A = randperm(7)
for col = (dec2bin(A) - '0').'
row = col.'
result = row(1)*11 + row(2).^2 - row(3) %some calculation
end
ASHA PON
el 10 de En. de 2023
Walter Roberson
el 10 de En. de 2023
The number does vary for each iteration. Each row = output line shows the input that was received, and you can see that no two of the inputs were the same.
ASHA PON
el 10 de En. de 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
ASHA PON
el 10 de En. de 2023
Categorías
Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!