如何计算除“e”以外的复数的对数?

发布于 2024-07-25 11:10:42 字数 274 浏览 8 评论 0原文

我从我正在从事的一个项目中切出了一些 VB6 的内容:

Public Function C_Ln(c As ComplexNumber) As ComplexNumber
    Set C_Ln = toComplex(Log(C_Abs(c)), Atan2(c.Imag, c.Real))
End Function

VB6 Log() 函数是 base-e。 我想编写这个版本来执行 base-2、base-10 和 base-n。 我从哪说起呢?

I have this bit of VB6 sliced out of a project I'm working on:

Public Function C_Ln(c As ComplexNumber) As ComplexNumber
    Set C_Ln = toComplex(Log(C_Abs(c)), Atan2(c.Imag, c.Real))
End Function

The VB6 Log() function is base-e. I'd like to cook up versions of this to do base-2, base-10 and base-n. Where do I start?

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

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

发布评论

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

评论(2

锦上情书 2024-08-01 11:10:42

您可以使用以下数学身份

alt text

在 VB 中,它会是这样的:

Log10 = Log(X) / Log(10)
Log2 = Log(X) / Log(2)
' ... LogN = Log(X) / Log(N)

You can use the following mathematical identity:

alt text

In VB it would be something like:

Log10 = Log(X) / Log(10)
Log2 = Log(X) / Log(2)
' ... LogN = Log(X) / Log(N)
魂归处 2024-08-01 11:10:42

如果将 x 的自然对数除以想要获得的底数的对数,您将得到所需的结果,即 (ln x)/(ln n) = y

请参阅 这里有解释

If you divide the natural log of x by the log of the base you want to achieve you get the desired result, i.e. (ln x)/(ln n) = y

See here for an explanation

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