【发布时间】:2011-06-20 22:02:05
【问题描述】:
我想创建一个矩阵 A [4x8] 如下。
矩阵 A 始终以 1 作为其对角线。 A11,A22,A33,A44 = 1
这个矩阵可以被认为是两半,前半部分是前 4 列,后半部分是后 4 列,如下所示:
1 -1 -1 -1 1 0 0 1
A = -1 1 -1 0 0 1 0 0
-1 -1 1 0 1 0 0 0
-1 -1 -1 1 1 1 0 0
前半部分的每一行可以有两个或三个-1:
- 如果它有两个
-1,那么下半部分对应的行应该有一个1 - 如果任何一行有三个
-1,矩阵的后半部分应该有两个1。
总体目标是使每一行的总和为0。我需要生成这样的矩阵的所有可能组合。
如果在每次迭代中创建具有新组合的矩阵会更好,以便在使用它之后我可以丢弃它,否则存储所有组合非常占用空间。有谁能够帮我 ?
我能想到的一个可能的解决方案是生成 row1、row2、row3 和 row4 的所有可能组合,并在每次迭代中创建一个矩阵。这看起来可行吗?
【问题讨论】:
-
你已经尝试了什么? 具体你在用卢布做什么?
-
我无法掌握如何执行此操作的逻辑。我还在想。 :(
-
来吧。另一个问题也是我问的。我正在尝试对矩阵做同样的事情。
-
@Oli Charlesworth:这是一个类似的问题,但要困难得多。