我希望能够在ILArray中设置所有值< T>超出最小值/最大值范围的最小值/最大值。
是否有ILNumerics数组方法可以执行此操作?
例如在我的1000,1000范围内,数组值范围从1到2000,但大多数数据的范围是800-1000,所以我想设置任何低于800到800的值和任何高于1000的值1000。
没有经过嵌套的for循环并检查每个值是否有更简单的方法来执行此操作?
答案 0 :(得分:2)
您可以直接执行此操作,例如:
ILArray<int> data = new[,] {{10, 0}, {0, 5}};
data[data > 5] = 2; // this line does the trick
答案 1 :(得分:1)
ILNumerics中没有这样的方法,它将数组的值限制在一定限度内。但是,正如evertqin所示,您可以分别进行最大和最小范围。为了将数组的值限制在1..4到2..3之间,你可以这样做:
ILArray<double> data = new[,] {{1.0, 2.0}, {3.0, 4.0}};
data[data > 3] = 3;
data[data < 2] = 2;