У меня есть такие функции подряд
... | 2 | 2.3 | 14 | 1050 | 6 | 500 | 300 | 1500 | ...
У меня есть верхняя и нижняя границы.Как проверить, соответствует ли мой ряд этим границам?
Как насчет этого?
upper_bounds = rand(1, 10) %random upper bound lower_bounds = upper_bounds/5 %random lower bound row = rand(1, 10) %random row % answer satisfied = (row < upper_bounds & row > lower_bounds)
Вывод:
upper_bounds = 0.1067 0.9619 0.0046 0.7749 0.8173 0.8687 0.0844 0.3998 0.2599 0.8001 lower_bounds = 0.0213 0.1924 0.0009 0.1550 0.1635 0.1737 0.0169 0.0800 0.0520 0.1600 row = 0.4314 0.9106 0.1818 0.2638 0.1455 0.1361 0.8693 0.5797 0.5499 0.1450 satisfied = 0 1 0 1 0 0 0 0 0 0
Я нашел проблему. Я проверил, что происходит, когда я
A <= lb & A >= ub
Я получил матрицу 8х8, которая мне не нужна. Я переставил lb и ub, так что в итоге я получил матрицу 1x8 (0 | 1), которая решала мою проблему.
Спасибо всем за вклад!
Предполагая, что ваши верхняя и нижняя границы соответственно сохраняются в upper_bound и lower_bound:
satisfies_upper_bound = (max(features) < upper_bound); satisfies_lower_bound = (min(features) > lower_bound); is_acceptable = (satisfies_upper_bound & satisfies_lower_bound);
Надеюсь, это поможет!