Select a random number from a set

586 views (last 30 days)
Matt Medley
Matt Medley on 8 Nov 2011
Answered: Souarv De on 8 Jun 2021
I'm simulating a single blackjack hand and am trying to "draw" a card. I can't use the randi function because I don't want all possibilities to have the same probability of being selected. So what I have done is created a row vector , (x), of all the possible card values. Now I would like draw a random number from this selection for my 'draw' function. Thanks for the help!
x = [1,2,3,4,5,6,7,9,10,10,10,10,11] theCard = randi?
  5 Comments

Sign in to comment.

Answers (2)

Lucas García
Lucas García on 8 Nov 2011
There are a few ways to do it. For example, using randi to select in which position is the card that you will extract.
pos = randi(length(x));
card = x(pos);
  5 Comments
Vineeth Krishnan
Vineeth Krishnan on 11 Dec 2020
for i=1:5
arrayA(i) = A(randi(length(A));
arrayB(i)= B(randi(length(B));
end

Sign in to comment.


Souarv De
Souarv De on 8 Jun 2021
rand_Pos = randperm(length(x),1)
card = x(rand_Pos)

Categories

Find more on Random Number Generation 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!