映射矩阵元素在ejml中的{0,1}值

  • 本文关键字:中的 元素 ejml 映射 ejml
  • 更新时间 :
  • 英文 :


我想将非阴性整数的矩阵变成二进制矩阵。例如,给定以下输入矩阵:

2 3
0 1

它应该以下输出矩阵:

1 1
0 1

我认为这类似于地图操作,因此伪码在此操作等于mapElements(x -> (x > 0) ? 1 : 0)mapNonZeroes(x -> 1)

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

对我来说,有效的是直接访问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);
    }
}

最新更新