MATLAB中exp函数的实现机制及与NumPy exp的差异探究
MATLAB exp函数的实现细节与NumPy exp的差异问题
MATLAB中的exp函数与Python NumPy的exp存在数值差异:
exp(-0.305175781250000000) == 0.736993813311010992...
np.exp(-0.305175781250000000) == 0.736993813311010881...
但多数输入下二者结果完全一致,例如:
exp(-0.476837158203125000) == 0.6207436040675000654687210044357925653457641601562500000
np.exp(-0.476837158203125000) == 0.6207436040675000654687210044357925653457641601562500000
在测试线性扫描范围-10:.002:10-.002(对应NumPy的np.arange(-10, 10, .002))时,所有结果均不完全匹配:差异随输入绝对值增大呈指数增长,而有符号相对差(a-b)/a随输入的线性扫描呈线性变化。
已知np.exp的C源码复杂,包含非数学调整(如非规格化数处理),但目前不清楚MATLAB exp的实现细节,特此询问:MATLAB的exp函数实现是否公开?
(注:此问题非XY问题,表述即为真实需求)
内容的提问来源于stack exchange,提问作者OverLordGoldDragon
相关产品推荐
相关产品推荐

