Randomizing the picking and changing of values in a 3D array
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Jan
2022-8-16
编辑:Jan
2022-8-17
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 个评论
Jan
2022-8-18
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!