correct use of randsrc function
7 views (last 30 days)
Show older comments
out = randsrc(1,1,[-3 -1 1 3; 0.1 0.4 0.4 0.1])
Error: Undefined function 'randsrc' for input arguments of type 'double'.
Aim: I want to display a random number from the set -3, -1, 1, 3 each with respective probabilities 0.1, 0.4, 0.4, 0.1
0 Comments
Answers (2)
Scott MacKenzie
on 9 Jun 2021
Edited: Scott MacKenzie
on 9 Jun 2021
There are lots of ways to do this, I suppose. Here's what I put together -- with a pesky twist. The weighting is built-in to the set. Just pull a value from set at random and the weighting is a natural outcome.
% define set
set = [-3 -1 -1 -1 -1 1 1 1 1 3];
% get random value from set (with built-in weighting)
set(randi([1 length(set)],1))
Walter Roberson
on 10 Jun 2021
randsrc() is from the Communications System Toolbox https://www.mathworks.com/help/comm/ref/randsrc.html
See https://www.mathworks.com/matlabcentral/answers/415418-how-to-correct-randsrc-in-matlab for some replacements.
0 Comments
See Also
Categories
Find more on Dynamic System Models 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!