numpy - allclose - 如何在 Julia 中检查两个数组是否接近

标签 numpy julia

在 numpy 中,您可以执行 np.allclose(A, B) 来查看数组 A 和 B 是否接近。

Julia 中有没有函数可以做到这一点?

最佳答案

(有关此答案的过时版本,请参阅水平线下方。)

isapprox 的数组版本是introduced在 Julia 0.4 中,您现在可以编写:

isapprox(A, B)

与标量情况一样,您可以指定相对容差 rtol和绝对公差atol作为关键字参数。

但请注意,与 NumPy 的 allclose 不同(以及下面这个答案的先前解决方案), array- isapprox首先计算差异的范数,然后确定结果值。 (显然,检查 isapprox 逐点 is wrong 。)默认情况下, LinearAlgebra.norm 使用,它是向量的 2-范数和矩阵的 Froebenius 范数,但您可以使用 norm 覆盖此行为关键字参数。

顺便说一下,正如链接的拉取请求中提到的,在测试中你可以写 @test isapprox(A, B) ,所以@test_approx_eq现已过时并且 deprecated as of 0.6 。另外,还有A ≈ B ,相当于isapprox(A, B)并且可以像任何比较运算符一样使用:a < b ≈ c ≤ d .

<小时/>

作为引用,这是本文之前的过时版本:

对于单个号码, isapprox 被定义为。如果您想将其扩展到 Array 上的逐元素比较s,你可以使用:

all(x -> isapprox(x...), zip(A, B))

all(x -> isapprox(x...), zip(A, A + 1e-5)) # => false
all(x -> isapprox(x...), zip(A, A + 1e-6)) # => true

关于numpy - allclose - 如何在 Julia 中检查两个数组是否接近,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27098844/

相关文章:

python - numpy 是否在内部存储数组的大小?

numpy - 使用Metropolis-Hastings算法时如何确定步长

julia - 为什么 IPOPT 会在违反约束的情况下评估目标函数?

gtk - 将Gadfly绘图直接绘制到Gtk Canvas 上

numpy - 哪些 numpy 操作是复制的,哪些是变异的?

python - 在 numpy 中创建非等距数组的函数

python - 对每一列相关性独立排序并得到索引值

arrays - Julia中的Array {Bool}和BitArray有什么区别,它们之间有何关系?

xml - LightXML.jl : Insert doctype

matplotlib - Juno 中的 PyPlot : Fixing axis height