gpt4 book ai didi

python - 如何将非常接近的复数识别为相等?

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:12 25 4
gpt4 key购买 nike

我正在使用数值方法求1的立方根。我的方法是有效的,即从不同的起点收敛到三个根,通过肉眼判断。

但是,当我使用 numpy.unique() 获取三个根时,稍微不同的复杂部分阻止我提取根。

现在我将每个复数分成实部和虚部,对各部分进行舍入并进行比较。然而,这相当笨拙。有更好的办法吗?

最佳答案

我会计算它们差异的绝对值并与 float 的 epsilon 进行比较:

import math
import sys


def almost_equal(a, b):
d = a - b
return math.sqrt(d.real ** 2 + d.imag ** 2) < sys.float_info.epsilon

关于python - 如何将非常接近的复数识别为相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28727704/

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