Randomizing the picking and changing of values in a 3D array
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have a 24x365x60 array and would like to set 4 of the 24 values for each of the 365 columns to a constant (11), based on a 24x365 matrix with "1"s in the particular positions, for a randomized 30 of the 60 sheets (third dimemsion) and letting the other 30 beeing unchanged. What is the best way to solve this?
0 Commenti
Risposta accettata
Jan
il 16 Ago 2022
Modificato: Jan
il 17 Ago 2022
x = zeros(24, 365, 60);
m3 = randperm(60, 30);
for i3 = m3
for i2 = 1:365
m1 = randperm(24, 4);
x(m1, i2, i3) = 11;
end
end
sum(x(:) == 11)
Is this the wanted number of 11's? 4*365*30 = 43800
8 Commenti
Jan
il 18 Ago 2022
You want to replace randperm(24, 4)? Okay then simply replace this command in my code.
A short example would clarify, what you want to do exactly.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!