我正在尝试避免以下表达式的零除错,
)
。
当a = 0时,表达式应返回1.我可以使用(1-exp(-a)) / a
函数来避免截断错误,但除以零仍会导致问题。
是否有expm1
这样的函数,但除expm1
除外?
答案 0 :(得分:2)
为您的案例使用if else语句。
答案 1 :(得分:0)
请注意,您可以将表达式重写为
a
如果(1-exp(-a)) / a = exp(-a/2) * sinh(a/2) / (a/2)
~ exp(-a/2) * (1 + 1/6 * (a/2)**2 + 1/120 * (a/2)**4)
使用原始表达式,则使用近似值。