如果行符合Matlab的要求,请检查

时间:2018-06-23 20:07:43

标签: matlab bounds

我连续拥有这样的功能

...
|  2  |  2.3  |  14  |  1050  |  6  |  500  |  300  |  1500  |
...

我有上限和下限。如何检查我的行是否符合这些界限?

3 个答案:

答案 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);

希望有帮助!

答案 1 :(得分:0)

那怎么样?

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

答案 2 :(得分:0)

我发现了问题。我已经检查了做的事情

A <= lb & A >= ub

我得到了8x8矩阵,这不是我所需要的。我对lb和ub进行了转置,最后得到了可以解决我的问题的1x8(0 | 1)矩阵。

谢谢大家的贡献!