首页 > 解决方案 > 在 Python 中为指数值获取不正确的最大值和最小值

问题描述

对于我在代码脚本中给出的值,我使用 max() 和 np.max() 得到了不正确的最大值和最小值。我有填充了类似于这三个值的值的数组。

编辑:似乎我的大脑冻结了,我很抱歉,价值观是正确的。我不敢相信我被困在这里 2 个小时。随意删除或标记此帖子。

import numpy as np

c = 0.0000e+00
d = 2.2141e-42
e = 9.1835e-41

max([c,d,e]) # Returns 9.1835e-41
np.max(np.array([c,d,e])) # Returns 9.1835e-41

min([c,d,e]) # Returns 0.0
np.min(np.array([c,d,e])) # Returns 0.0

标签: pythonnumpymaxminexponential

解决方案


用十进制记数法而不是科学记数法写,你的数字结果是:

c = 0
d = 0.0000000000000000000000000000000000000000022141
e = 0.000000000000000000000000000000000000000091835

我会说 c 是最小的, e 是最大的,这似乎也符合什么maxnp.max想什么。


推荐阅读