Как зафиксировать массив данных в ILNumerics
Я хочу иметь возможность установить все значения в ILArray
Есть ли метод массива ILNumerics, который будет делать это?
например, в моем диапазоне значений массива 1000,1000 от 1 до 2000, но большая часть данных находится в диапазоне 800-1000, поэтому я хочу установить любое значение ниже 800–800 и любое значение выше 1000–1000.
Без прохождения вложенного цикла for и проверки каждого значения, есть ли более простой способ сделать это?
2 ответа
В 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;
Вы можете сделать это напрямую, например:
ILArray<int> data = new[,] {{10, 0}, {0, 5}};
data[data > 5] = 2; // this line does the trick