gpt4 book ai didi

Julia:searchsorted 的矢量化版本

转载 作者:行者123 更新时间:2023-12-05 03:01:56 24 4
gpt4 key购买 nike

对于数组 B 中的每个值,如何通过一个函数调用找到数组 A 中最接近的值,类似于 searchsorted(A, B) 在 numpy 中工作。

最佳答案

searchsortedfirst.(Ref(A),B)

应该会给你想要的结果。示例:

julia> A = [1, 2, 2, 4, 4, 4, 4, 4, 9, 10];

julia> B = [10, 6, 9];

julia> searchsortedfirst.(Ref(A), B)
3-element Array{Int64,1}:
10
9
9

np.searchsorted 比较:

julia> using PyCall

julia> np = pyimport("numpy");

julia> np.searchsorted(A,B)
3-element Array{Int64,1}:
9
8
8

哪个(直到 Python 的基于 0 的索引)是等价的。

解释:searchsortedfirst.(Ref(A),B) 做什么?

这个点告诉 Julia 广播 searchsortedfirst 调用。但是,我们必须确保 A 在每次调用中仍被视为数组(我们希望 A 是广播下的标量)。这可以通过将 A 包装在 Ref 中来实现。

关于Julia:searchsorted 的矢量化版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55339848/

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