1

在 java 库ojAlgo中,如何对矩阵进行切片或从现有矩阵中提取子矩阵?

例如, matrix 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]]

我尝试了中的slice方法SparseStore,但它没有按我预期的那样工作。

4

1 回答 1

1

“切片”方法总是返回一维的东西。您可以切出索引范围、行、列、对角线...

如果你想要一个矩阵的子视图,你可以这样做:

matrix.logical().limits(3, 3).offsets(1, 1).get();

或以您的示例为例,因为原始矩阵是 3x3,所以这样做就足够了:

matrix.logical().offsets(1, 1).get();
于 2018-04-27T06:39:29.333 回答