Effacer les filtres
Effacer les filtres

How can a matrix of randperm be generated with variable n*m?

3 vues (au cours des 30 derniers jours)
SM
SM le 12 Fév 2020
Modifié(e) : Stephen23 le 13 Fév 2020
I want to generate a matrix of n*m size, which looks like
where
n=3
m=4
A=[randperm(m); randperm(m);randperm(m);]
These value may change with problem size. How can i generate this matrix since n and m vary? No loop please!

Réponse acceptée

John D'Errico
John D'Errico le 12 Fév 2020
SImpler than you think.
M = 4;
N = 3;
[~,A] = sort(rand(M,N),1)
A =
1 1 3
4 2 1
2 3 4
3 4 2
  1 commentaire
Stephen23
Stephen23 le 13 Fév 2020
Modifié(e) : Stephen23 le 13 Fév 2020
Sorting horizontally gives an equivalent matrix to that shown in the question:
>> M = 4;
>> N = 3;
>> [~,A] = sort(rand(N,M),2)
A =
4 2 3 1
2 1 4 3
4 1 3 2

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Random Number Generation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by