Filter löschen
Filter löschen

rearrange matrix elements randomly

17 Ansichten (letzte 30 Tage)
Mireia Boneta Camí
Mireia Boneta Camí am 9 Okt. 2020
Kommentiert: Ameer Hamza am 9 Okt. 2020
I have a matrix and what i want to do is reorder the matrix elements/entries in a random order. for example if the matrix was :
A= [ 1 2 3;
4 5 6;
7 8 9]
i would like the elements randomly re-arranged, for example:
A = [ 6 9 1
2 5 7
3 8 4]
I would like to do it without using fors to do it more efficiently.

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 9 Okt. 2020
A_new = reshape(A(randperm(numel(A))), size(A))
  2 Kommentare
Mireia Boneta Camí
Mireia Boneta Camí am 9 Okt. 2020
thanks, it's perfect!
Ameer Hamza
Ameer Hamza am 9 Okt. 2020
I am glad to be of help!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

KSSV
KSSV am 9 Okt. 2020
Bearbeitet: KSSV am 9 Okt. 2020
Read about randperm. With this you can get random indices/ numbers. Let A be your matrix.
[m,n] = size(A) ;
idx = randperm(m*n) ;
A = reshape(A(idx),m,n) ;

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by