擅长:python、mysql、java
<p>对于任何想要只处理单个数字而不是数组的<code>exp1ln</code>版本的人,我修改了<a href="https://stackoverflow.com/users/565635/orlp">orlp</a>中的解决方案以获得以下结果:</p>
<pre><code>import numpy as np
from scipy.special import exp1
def _exp1ln_taylor(x, k):
r = 0
s = -1
for i in range(k, 0, -1):
r = (r + s) * i / x
s *= -1
return r * s
def exp1ln(x):
if x <= 50:
return np.log(exp1(x))
else:
return -x - np.log(x) + np.log1p(_exp1ln_taylor(x, 18))
</code></pre>