Julia 范围之间的条件子集数组
我希望在特定范围内过滤数据Julia 范围之间的条件子集数组,julia,Julia,我希望在特定范围内过滤数据 dummy = [1,2,3,4,5,6,7,8,9,10] 这适用于单一条件: dummy[dummy .> 4] 如果我尝试设置一个范围: dummy[dummy .> 4 & dummy .< 7] dummy[dummy.>4和dummy.4.&(dummy.
dummy = [1,2,3,4,5,6,7,8,9,10]
这适用于单一条件:
dummy[dummy .> 4]
如果我尝试设置一个范围:
dummy[dummy .> 4 & dummy .< 7]
dummy[dummy.>4和dummy.<7]
此逻辑不提供大于4和小于7的预期输出过滤
这就成功了
dummy[(dummy .> 4) .& (dummy .< 7)]
dummy[(dummy.>4.&(dummy.<7)]
通过布尔数组进行索引,无论是dummy[(4.
还是dummy[4.
都应该有效;由于运算符优先级,第一个代码段中的括号是必需的。为了更清晰地显示较大的过滤器,可以使用@宏对布尔数组的生成进行矢量化。
宏:
dummy[@. 4 < dummy < 7]
过滤器如果可以接受现有数组的变异,则可以使用code>函数代替过滤器。通过布尔数组进行索引,dummy[(4.
或dummy[4.
应该可以工作;由于运算符优先级,第一个代码段中的括号是必需的。为了更清晰地显示较大的过滤器,可以使用@宏对布尔数组的生成进行矢量化。
宏:
dummy[@. 4 < dummy < 7]
过滤器如果可以接受现有数组的变异,则可以使用code>函数代替过滤器。您可以直接编写dummy[4.
。您可以直接编写dummy[4.
。