【问题标题】:Generating a random binary matrix with a constraint生成带有约束的随机二进制矩阵
【发布时间】:2021-12-30 23:05:23
【问题描述】:

我们正在使用 MATLAB,我们想生成一个二进制矩阵,比如x(i,j,k),其中对于每个i,这个条件都满足sum_{j} \ sum_{k} x_{ijk} = 1。有人可以帮忙吗?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    jk 生成随机下标,并使用sub2ind 将下标转换为索引。

    x = false(ni, nj, nk);  
    subi = 1:ni;
    subj = randi(nj, 1, ni);
    subk = randi(nk, 1, ni);
    ind = sub2ind([ni, nj, nk], subi, subj, subk);
    x(ind) = true;
    

    要确认您可以使用的约束:

    all(sum(sum(x, 3), 2) == 1)
    

    【讨论】:

      猜你喜欢
      • 2015-11-26
      • 2014-04-18
      • 2023-04-08
      • 1970-01-01
      • 2020-08-31
      • 2020-03-16
      • 1970-01-01
      • 2022-01-03
      • 2022-12-03
      相关资源
      最近更新 更多