我想提取多个子矩阵,如果我的稀疏矩阵具有非零值的多个区域。在Python中提取多个子矩阵
例如, 说我有下面的矩阵:
x = np.array([0,0,0,0,0,0],
[0,1,1,0,0,0],
[0,1,1,0,0,1],
[0,0,0,0,1,1],
[0,0,0,0,1,0])
然后我需要能够具有非零值来提取的区域,即
x_1 = [[1,1]
[1,1]]
和
x_2 = [[0,1],
[1,1],
[1,0]]
我一直在使用np.where()来查找非零值和returni的索引这个区域只有一个子矩阵,但是我怎样才能将它扩展到我的稀疏矩阵中所有可能的子区域?
谢谢!
谢谢你,但我得到一个错误与全局定义: NameError:全局名称“水库”没有定义 – alvarezcl 2014-11-30 20:16:26
这也似乎并不奏效任何两个子矩阵的一般情况。 – alvarezcl 2014-11-30 21:13:46
@alvarezcl,你需要首先在主函数中定义'res = []'。我已经上传了实际的完整代码。尝试一下。此外,它适用于任何两个子矩阵的情况。我已经在很多情况下首先进行了测试。 – 2014-12-01 04:30:37