Simulink switch that is based on probability
3 views (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):
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/238234/image.jpeg)
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:
![Matlab Answers 20190913a.JPG](https://www.mathworks.com/matlabcentral/answers/uploaded_files/238370/image.jpeg)
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
Categories
Find more on Discrete-Event Simulation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!