ojAlgo:切片或提取子矩阵
ojAlgo: slice or extract sub-matrix
在 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)
,它应该return [[5,6],[8,9]]
。
我尝试了 SparseStore
中的 slice
方法,但它没有像我预期的那样工作。
"slice" 方法总是 return 一维的东西。您可以切出索引范围、行、列、对角线...
如果你想要一个矩阵的子视图,你可以这样做:
matrix.logical().limits(3, 3).offsets(1, 1).get();
或者对于你的例子,因为原始矩阵是 3x3,这就足够了:
matrix.logical().offsets(1, 1).get();
在 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)
,它应该return [[5,6],[8,9]]
。
我尝试了 SparseStore
中的 slice
方法,但它没有像我预期的那样工作。
"slice" 方法总是 return 一维的东西。您可以切出索引范围、行、列、对角线...
如果你想要一个矩阵的子视图,你可以这样做:
matrix.logical().limits(3, 3).offsets(1, 1).get();
或者对于你的例子,因为原始矩阵是 3x3,这就足够了:
matrix.logical().offsets(1, 1).get();