如何在matlab中生成随机矩阵,每个值重新两次?

Shi*_*kit 0 random matlab matrix

我需要制作一个随机矩阵,比如大小为3X4,其中值将介于1-6之间,每个值将被重新划分两次(在矩阵中的随机位置).我怎样才能做到这一点?谢谢

Moh*_*nia 9

你可以创建一个数组,其中包含数字1到6以及所需的重复数据

A=[1:6, 1:6];
Run Code Online (Sandbox Code Playgroud)

然后使用该数组randperm并将其重新整形为3乘4矩阵

>> B=reshape(A(randperm(12)), 3, 4)
B =
     5     4     6     1
     2     3     5     4
     6     2     1     3
Run Code Online (Sandbox Code Playgroud)