Simulink switch that is based on probability
1 view (last 30 days)
Show older comments
How do you use Simulink to create a pathway with a switch that splits into two based on probability (for eg, 0.4 of the time goes through port A and 0.6 of the time goes through port B)?
Accepted Answer
Jim Riggs
on 13 Sep 2019
Edited: Jim Riggs
on 13 Sep 2019
This seems to work for me (The uniform random number is set to a range of 0 to 1):

2 Comments
Jim Riggs
on 14 Sep 2019
Edited: Jim Riggs
on 14 Sep 2019
I'm thinking that one way to implement this in a subsystem like this:

In this case, the enabled subsystems simply pass the signal straignt through. Signals A and B are defined outside, and the subsystem simply acts a a probabilistic switch between A and B.
You can create a mask for the subsystem and set the percentage threshold (i.e. the 0.4 value) in the mask.
More Answers (1)
George Jacob
on 16 Sep 2019
4 Comments
Jim Riggs
on 17 Sep 2019
Thank you.
For future reference, you should not post an answer to your own question, unless you are offering a solution that no one else has offered and that best fits the question. Put your comments in the comment section.
Also, feel free to "vote" for answers that are helpful/interesting to indicate that they have value.(you can vote for as many answers as you like)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!