计算小(偶尔大)x 的 ln(1-x) 的好算法

发布于 2024-09-25 01:50:13 字数 96 浏览 3 评论 0原文

我正在寻找一种计算 ln(1-x) 的算法。 x 通常很小(<0.01),但有时可能会更大。算法需要准确,而且不能太慢。我不想使用 ln(x) 库,因为我可能会失去准确性。

I'm looking for an algorithm to calculate ln(1-x). x is often small (<0.01), but occasionally it might be larger. Algorithm needs to be accurate, and not too slow. I'd rather not use library for ln(x), because I might lose accuracy.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

反目相谮 2024-10-02 01:50:13

根据您想要的精度,-x 是小型 ln(1-x) 的良好近似值。来自此处

编辑:如果需要算法的原因是获得最佳准确性,那么有许多专门用于log(1+x)。例如,在 Python 中使用 log1pCC++

Depending on the accuracy you want, -x is a good approximation to small ln(1-x). From here.

Edit: If the reason for needing the algorithm is getting the best accuracy, then there are many libraries that are specialised for log(1+x). For example, in Python use log1p. Ditto in C and C++.

岁月染过的梦 2024-10-02 01:50:13

如果您使用 MATLAB,则 log1p() 函数专门用于计算小 x 值的 ln(1+x)。

If you are using MATLAB the log1p() function was designed specifically for calculating ln(1+x) for small values of x.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文