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

3 ビュー (過去 30 日間)
SM
SM 2020 年 2 月 12 日
編集済み: Stephen23 2020 年 2 月 13 日
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!

採用された回答

John D'Errico
John D'Errico 2020 年 2 月 12 日
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 件のコメント
Stephen23
Stephen23 2020 年 2 月 13 日
編集済み: Stephen23 2020 年 2 月 13 日
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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeRandom Number Generation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by