How i will choose a random element of a matrix

44 views (last 30 days)
I have a matrix A,and i want to choose randomly an element from the matrix.How i will do that?

Accepted Answer

per isakson
per isakson on 24 Mar 2015
One way
A = rand(3,4)
A( randi([1,size(A,1)],1), randi([1,size(A,2)],1) )
  2 Comments
Assen Beshr
Assen Beshr on 21 May 2022
Edited: Assen Beshr on 21 May 2022
per isakson: perfect . I have one question related to this question. the question is How I choose random value npop X n matrix if npop =5 and n=2; from column matrix L=[2;4;5;7;8;9;12;25;32;33]
for example [4 25
2 7
33 12
32 5
4 9];

Sign in to comment.

More Answers (1)

Guillaume
Guillaume on 24 Mar 2015
It may be (insignificantly) faster to use linear indexing:
A(randi(numel(A)));
It's more succinct anyway, and works whatever the number of dimensions of the array.

Categories

Find more on Operating on Diagonal Matrices 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!