在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
方法,但它没有像我预期的那样工作。
“切片”方法总是返回1D。你可以切出索引范围,行,列,对角线......
如果你想要一个矩阵的子视图,你可以这样做:
matrix.logical().limits(3, 3).offsets(1, 1).get();
或者你的例子,因为原始矩阵是3x3,这足以做到:
matrix.logical().offsets(1, 1).get();