【发布时间】:2016-05-13 01:17:47
【问题描述】:
我正在处理这种格式的矩阵:
M =
1 1 3
1 1 1
1 2 2
1 2 1
1 2 2
2 1 5
2 1 1
2 2 3
2 2 4
2 2 2
...
我想要做的是提取子矩阵,其中第一列和第二列中的值可以分组:
M1 =
1 1 3
1 1 1
M2 =
1 2 2
1 2 1
1 2 2
M3 =
2 1 5
2 1 1
...
我一直在努力思考如何为此矩阵编制索引,并且我有一个可用的矩阵:
I =
1 1
1 2
2 1
2 2
...
我可以用于索引。我想知道我是否可以使用它,但我不是 100% 确定如何使用它。我不想使用for 循环,因为矩阵可能相当大,而且复杂度可能会变得非常大。
感谢您的阅读!
【问题讨论】:
-
“第一个和第二个矩阵中的值相同的子矩阵”是什么意思? M1 != M2
-
对不起,打错了,我会改正的。
-
您输入的数据是否已经排序,您的子矩阵是原始矩阵中的连接块?您最终会得到许多子矩阵,还是只是输入数据大是您的问题?
-
即使第一列的值不变,第二列的值是否也总是变化,而当第一列的值发生变化时,你的第二列值是否也会发生变化?我的意思是..你能简单地从第二列告诉你什么时候取你的子矩阵吗?
-
丹尼尔,是的。这些是连接的块,最小的块将是第一个块。 Matthias,是的,您可以从第二列中看出它们何时会改变。