gpt4 book ai didi

arrays - 在 Julia 中,如何获取排序数组中超过某个值的第一个元素的索引?

转载 作者:行者123 更新时间:2023-12-01 00:42:17 28 4
gpt4 key购买 nike

这是我的代码( x 是排序数组):

lookup_value = 310.0
x = [298.0, 303.0, 308.0, 313.0, 323.0]
if (issorted(x))
idx = searchsorted(x, lookup_value)
end

在这种特殊情况下, idx 的值为:
4:3

在这里,我想提取“4”(超过查找值的第一个元素)或“3”(不超过查找值的最后一个元素)。但是,我无法通过将范围转换为数组来做到这一点,因为我从以下命令中得到的只是一个空数组:
julia> collect(idx)
0-element Array{Int64,1}

请注意,310.0 的查找值只是一个示例;这个变量可以采用不同的值。

最佳答案

我刚刚意识到可以使用 idx.startidx.stop访问范围的开始和结束。

julia> idx
4:3
julia> idx.start
4
julia> idx.stop
3

超过查找值的第一个元素是 x[idx.start] .
执行 的最后一个元素不是 超过查找值是 x[idx.stop] .

关于arrays - 在 Julia 中,如何获取排序数组中超过某个值的第一个元素的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36738984/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com