如何计算复数对除“e”以外的基数的对数?
Posted
技术标签:
【中文标题】如何计算复数对除“e”以外的基数的对数?【英文标题】:How to calculate log of a complex number to a base other than 'e'? 【发布时间】:2009-06-26 08:54:04 【问题描述】:我从我正在处理的项目中截取了一些 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。我从哪里开始?
【问题讨论】:
【参考方案1】:您可以使用以下数学公式identity:
在 VB 中是这样的:
Log10 = Log(X) / Log(10)
Log2 = Log(X) / Log(2)
' ... LogN = Log(X) / Log(N)
【讨论】:
这仍然适用于复数吗?抱歉,如果我显得幼稚,那是因为我是(w.r.t. 复数) 这适用于复数,但复杂的日志具有无限的价值。您的公式将仅计算主要分支,但这可能已经足够了。在实践中,没有人喜欢无限值函数。 @boost,是的,请参阅:en.wikipedia.org/wiki/…(但请注意,复数有多个对数)。【参考方案2】:如果你将 x 的自然对数除以你想要达到的基数的对数,你会得到想要的结果,即 (ln x)/(ln n) = y
见here for an explanation
【讨论】:
以上是关于如何计算复数对除“e”以外的基数的对数?的主要内容,如果未能解决你的问题,请参考以下文章