【问题标题】:Generate random matrix with specific values [closed]生成具有特定值的随机矩阵
【发布时间】:2018-10-26 06:34:19
【问题描述】:

我是 MATLAB 新手,我想创建一个随机 n*n 矩阵,其中仅包含 -1 或 1 作为值。 有什么帮助吗?

【问题讨论】:

  • 请查看stackoverflow.com/help/how-to-ask,然后在您的问题中添加详细信息和代码。
  • “随机”没有任何意义,除非您指定条目的(联合)分布

标签: matlab matrix random


【解决方案1】:
A=rand(n);
thres=rand(1); % or whatever percentage
A=A>thres; % 1 and 0
A(A==0)=-1; % makes 0 -1

【讨论】:

    【解决方案2】:

    我会使用randi

    % Generate random array of 0s and 1s, *2 and -1 to give random values -1 or +1
    m = randi([0,1], n)*2-1 
    

    另请参阅:introductory docs on random integers

    【讨论】:

      【解决方案3】:

      我通常使用randi 来生成我感兴趣的数字的索引。例如在您的情况下,您对数字感兴趣

      a= [-1,1];
      

      因此我们使用

      b = randi(length(a),2,2); %Generate matrix of size 2x2
      

      生成一组随机索引。最后我们简单地将索引转换为感兴趣的数字。

      c = a(b); %Now a 2x2 matrix of -1, 1 numbers
      

      【讨论】:

        猜你喜欢
        • 2018-08-11
        • 2012-11-21
        • 1970-01-01
        • 2014-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-30
        • 2016-09-24
        相关资源
        最近更新 更多