我正在使用此表格获得等式
exp(az) = 1 + cz
我想为z解决,
其中c是复数,所以预期z也很复杂。 我无法弄清楚如何解决R中涉及复数的方程式。
我希望有人可以帮助我
答案 0 :(得分:5)
Wolfram Alpha可以根据 Lambert W 函数(它称之为ProductLog
函数)获得解决方案:
emdbook
包(以及其他包)具有Lambert W功能的实现。 (为了完成这项工作,我必须修复一个错误,所以你不能使用CRAN实现。而是从Github安装最新版本:library(devtools); install_github("bbolker/emdbook")
...
library(emdbook)
sfun <- function(a,c) {
w <- lambertW(-a/c*exp(-a/c))
-(c*w+a)/(a*c)
}
实施例
a <- 2+1i; c <- 1+1i
(z <- sfun(a,c))
## [1] -0.1686391-0.2337278i
检查答案:
(exp(a*z)-(1+c*z))
## [1] 0+5.551115e-17i
在预期的数字容差范围内为零......
答案 1 :(得分:3)