【问题标题】:How can I generate a random matrix with two fixed positions in Python?如何在 Python 中生成具有两个固定位置的随机矩阵?
【发布时间】:2020-05-01 20:06:51
【问题描述】:

我正在尝试创建 N x N 矩阵(在本例中为 4x4)。第一个和最后一个索引始终为零。矩阵填充了随机的 0 和 1。我当前的代码创建了一个矩阵,但我不确定如何修复这两个位并在剩余的 14 个点中随机生成一个零或一。

例子:

mapp = np.matrix('0 1 1 1; 0 1 1 1; 0 1 1 1; 0 0 0 0')

所以矩阵中的那些应该随机放置,而不是将它们放在第一个和最后一个索引中。 此代码是我正在编写的遗传算法代码的一部分,这是一个从 0 开始并找到到 15 的最佳路径的地图。这就是将 0 和 15 索引值保留为零的原因。

【问题讨论】:

    标签: python-3.x numpy random


    【解决方案1】:

    我能想到的最简单的方法是创建矩阵并随后手动设置它们,如下所示:

    mapp[[0, -1],[0, -1]] = 0
    

    将所有随机性和固定性结合在一起的艰难方法可能如下所示:

    n = 4
    np.hstack([[0],np.random.randint(0,2,n*n -2), [0]]).reshape(n,n)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-26
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 2016-09-24
      • 2021-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多