2016-07-13 2 views
1

Как Jama пакета в Java, есть метод: getMatrix methodКак получить подматрицу из матрицы с Swift

Есть ли пакет, который имеет аналогичную функцию? Я искал какое-то время, но Surge, похоже, не помогает. Мне интересно, нужно ли мне написать func.

+0

Как вы управляете матрицами в Swift прямо сейчас? –

+0

@YoussefSami Array > ... Я думал, что должен дать ему функцию расширения. – wjxiz

ответ

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.

+0

Спасибо, очень полезно! – wjxiz

Смежные вопросы