Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何找到低于某个值的最大浮动?_Python_Numpy_Floating Point - Fatal编程技术网

Python 如何找到低于某个值的最大浮动?

Python 如何找到低于某个值的最大浮动?,python,numpy,floating-point,Python,Numpy,Floating Point,给定一个浮点数x,我想找出小于x的最大浮点数。如何在Python中实现这一点 我曾尝试从x(x-numpy.finfo(float).eps)中减去机器epsilon,但对于足够大的浮动,这将计算为x,我需要返回的值严格小于x 有一些关于如何在C#中实现这一点的信息,但我不知道如何在Python中实现相同的位转换。有人知道怎么做,或者有其他方法来获得相同的值吗 (更大的问题——我试图通过数值计算,在0

给定一个浮点数
x
,我想找出小于
x
的最大浮点数。如何在Python中实现这一点

我曾尝试从
x
x-numpy.finfo(float).eps
)中减去机器epsilon,但对于足够大的浮动,这将计算为
x
,我需要返回的值严格小于
x

有一些关于如何在C#中实现这一点的信息,但我不知道如何在Python中实现相同的位转换。有人知道怎么做,或者有其他方法来获得相同的值吗


(更大的问题——我试图通过数值计算,在
0
的范围内,找到在
x
处具有奇点的方程的根。解算器(Scipy的toms748实现)在边界上求值,它无法处理nan或inf值,因此我无法精确地将其作为边界给出
x
。我不知道根与边界的距离有多近,因此我希望给出一个尽可能接近
x
的边界,而不实际产生无限值并使解算器崩溃。)

您正在描述的是的基本用法

>>> import numpy as np
>>> np.nextafter(1.5, 0.0)  # biggest float smaller than 1.5
1.4999999999999998
>>> np.nextafter(1.5, 2.0)  # smallest float bigger than 1.5
1.5000000000000002