如何使用Swift从Matrix获取subMatrix

时间:2016-07-13 07:31:39

标签: arrays swift matrix

与Java中的Jama包类似,有一种方法: getMatrix method

是否有任何具有类似功能的包裹?我已经搜索了一段时间但是Surge似乎没有帮助。我想知道我是否需要写一个功能。

1 个答案:

答案 0 :(得分:2)

这可能是您正在寻找的内容:

func getSubmatrix(_ matrix: [[Double]], i0: Int, i1: Int, j0: Int, j1: Int) -> [[Double]] {
    var result = [[Double]]()

    for row in Array(matrix[i0...i1]) {
         result.append(Array(row[j0...j1]))
    }

    return result
}

您应该能够像这样使用它:

print(getSubmatrix([[1.3, 4.3, 5.2], [4.2, 1.6, 4.5], [6.8, 8.9, 10.1]], i0: 0, i1: 1, j0: 0, j1: 1))

这是目前的功能风格。如果您有/创建Matrix对象,则可以将其作为实例方法添加到其中并使用self。