如何根据 IlNumerics 中数组的多个条件过滤行
How can I filter rows based on multiple criteria from an array in IlNumerics
我想获取基于多个约束的行。一个标准完美如
A[A[full, 0] % 3 == 0, full];
但是当我添加第二个条件时,出现编译器错误。正确的做法是什么?
Array<double> A = new double[,] {
{ 1, 9, 20 },
{ 2, 11, 21 },
{ 9, 12, 21 },
{ 9, 13, 23 },
{ 9, 14, 24 },
{ 10, 12, 21 },
{ 14, 13, 23 },
{ 16, 14, 24 },
{ 19, 12, 21 },
{ 27, 13, 23 },
{ 23, 14, 24 },
{ 6, 15, 25 }
};
Array<double> matching =
A[A[full, 0] % 3 == 0 && A[full, 1] > 10, full];
&&
运算符没有为 Array<T>
重载。它 returns C# 中的布尔值 - 不是您可能期望的数组。改用相应的函数ILMath.and(A, B)
就可以了。
我想获取基于多个约束的行。一个标准完美如
A[A[full, 0] % 3 == 0, full];
但是当我添加第二个条件时,出现编译器错误。正确的做法是什么?
Array<double> A = new double[,] {
{ 1, 9, 20 },
{ 2, 11, 21 },
{ 9, 12, 21 },
{ 9, 13, 23 },
{ 9, 14, 24 },
{ 10, 12, 21 },
{ 14, 13, 23 },
{ 16, 14, 24 },
{ 19, 12, 21 },
{ 27, 13, 23 },
{ 23, 14, 24 },
{ 6, 15, 25 }
};
Array<double> matching =
A[A[full, 0] % 3 == 0 && A[full, 1] > 10, full];
&&
运算符没有为 Array<T>
重载。它 returns C# 中的布尔值 - 不是您可能期望的数组。改用相应的函数ILMath.and(A, B)
就可以了。