代码之家  ›  专栏  ›  技术社区  ›  Gabor Szarnyas

将矩阵元素映射到EJML中的{0,1}值

  •  0
  • Gabor Szarnyas  · 技术社区  · 5 年前

    2 3
    0 1
    

    它应该是以下输出矩阵:

    1 1
    0 1
    

    我认为这类似于map操作,所以伪代码操作相当于 mapElements(x -> (x > 0) ? 1 : 0) mapNonZeroes(x -> 1) .

    一种可能的方法是将矩阵的非零元素展开为值设置为0/1的三元组,并从三元组重建矩阵。有更好的办法吗?

    0 回复  |  直到 5 年前
        1
  •  1
  •   Bálint Hegyi    5 年前

    对我来说,有效的方法是直接访问 nz_values

    public void normalizeMatrix(DMatrixSparseCSC m) {
        for (int i = 0; i < m.nz_length; i++) {
            m.nz_values[i] = Math.min(m.nz_values[i], 1.0);
        }
    }
    
    推荐文章