Randomizing the picking and changing of values in a 3D array
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Filip Hansson
el 16 de Ag. de 2022
Comentada: Filip Hansson
el 18 de Ag. de 2022
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 comentarios
Respuesta aceptada
Jan
el 16 de Ag. de 2022
Editada: Jan
el 17 de Ag. de 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 comentarios
Jan
el 18 de Ag. de 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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!