2014-10-19 5 views
0

매트릭스에서 다른 요소의 미성년자를 얻기 위해 코드를 작성하려고합니다. Mathnet.numerics 라이브러리를 사용하고 있습니다. 라이브러리에 rowindex와 rowcount를 입력해야하는 부분 매트릭스 메소드가 있다는 것을 알았습니다. 하지만 제 경우에는 행과 열을 건너 뛰는 방법으로 하위 행렬을 작성해야합니다 (예 : 3x3 행렬, 요소 (1,2), 첫 번째 행과 두 번째 열을 생략하여 하위 행렬을 작성해야 함). Mathnet.numerics의 기존 기능을 사용하는 방법에 대한 아이디어가 있습니까?Mathnet.numerics 라이브러리를 사용하여 행과 열을 건너 뛰는 부분 행렬을 만드는 방법은 무엇입니까?

답변

0

RemoveRow 및 RemoveColumn을 사용하면 선택한 행이나 열이 제거 된 새 행렬이 반환됩니다. 그들은 원래 매트릭스를 수정하지 않습니다. 주의 행과 열이 제로 인덱싱되는, 즉 첫 번째 행 인덱스는 0

var m = Matrix<double>.Build.Dense(3,3, (i,j) => 100*i + j); 
var m2 = m.RemoveRow(0).RemoveColumn(1); 

반환

m: DenseMatrix 3x3-Double 
    0 1 2 
100 101 102 
200 201 202 


m2: DenseMatrix 2x2-Double 
100 102 
200 202 
대응