在 java 库 ojAlgo
中,如何对矩阵进行切片或从现有矩阵中提取子矩阵?
例如,
矩阵 A = [[1,2,3],[4,5,6],[7,8,9]]
。
我正在寻找一种类似于 slice(a,b,c,d)
的方法,其中 a, b 是行的开始和结束索引,c,d 是开始和结束索引列的结束索引。
例如,如果我调用 A.slice(1,3,1,3)
,它应该返回 [[5,6],[8,9]]
.
我尝试了 SparseStore
中的 slice
方法,但它没有按我的预期工作。
最佳答案
“切片”方法总是返回一维的东西。您可以切出索引范围、行、列、对角线......
如果您想要矩阵的 subview ,可以这样做:
matrix.logical().limits(3, 3).offsets(1, 1).get();
或者用你的例子,因为原始矩阵是 3x3,所以就足够了:
matrix.logical().offsets(1, 1).get();
关于java - ojAlgo:切片或提取子矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50055422/