How can I make each iteration of a for each block create a unique random number?
3 次查看(过去 30 天)
显示 更早的评论
I want to create a random number for all iterations of my For Each Block at each time step. I've tried by simply adding a random number in my For Each Subsystem but I get the same random number outputted for each iteration. See a test model of this below.
How can I achieve generating unique random numbers for each iteration?
One method I know exists would be to have it outside the for each loop but that is undesirable because:
- My model is several subsystems beneath the top level of the for each loop so it would be undesirable.
- I would like to create this into a library block so I don't want it to be dependent on signals at the top level.
0 个评论
采纳的回答
cr
2022-11-28
You will have to generate a vector of random numbers outside and pass it as an input. Default partitioning of this vector might not happen the way you need it.
Cheers.
2 个评论
cr
2022-11-28
Not sure if that is possible. The rng blocks spit a number (or a vector of numbers) in sequence for each time step. The iterations inside the foreach block are not individual time steps -just the same time step iterating over each element in the vector signal.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sources 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!