【问题标题】:How to generate a random matrix in matlab with each value reapating twice?如何在matlab中生成一个随机矩阵,每个值重复两次?
【发布时间】:2015-04-22 10:41:22
【问题描述】:

我需要创建一个随机矩阵,假设大小为 3X4,其中值将介于 1-6 之间,并且每个值将精确重复两次(在矩阵中的随机位置)。 我怎样才能做到这一点? 谢谢

【问题讨论】:

    标签: matlab matrix random


    【解决方案1】:

    您可以创建一个数组,其中包含数字 1 到 6 以及所需的重复,比如说

    A=[1:6, 1:6];
    

    然后使用 randperm 打乱该数组并将其重塑为 3 x 4 矩阵

    >> B=reshape(A(randperm(12)), 3, 4)
    B =
         5     4     6     1
         2     3     5     4
         6     2     1     3
    

    【讨论】:

    • 回答OP的问题,我设置A = repmat(rand(1,6),2,1);
    猜你喜欢
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    相关资源
    最近更新 更多