How to rearrange random binary input for each iteration?
Mostra commenti meno recenti
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.
Risposte (1)
Bjorn Gustavsson
il 9 Gen 2023
0 voti
Have a look at the nextperm tool on the file exchange. It will allow you to cycle through all permutations.
HTH
9 Commenti
ASHA PON
il 10 Gen 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
il 10 Gen 2023
Modificato: Walter Roberson
il 10 Gen 2023
Walter Roberson
il 10 Gen 2023
Modificato: Walter Roberson
il 10 Gen 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
il 10 Gen 2023
Walter Roberson
il 10 Gen 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
il 10 Gen 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
il 10 Gen 2023
Categorie
Scopri di più su Random Number Generation in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!