![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/176033/image.png)
Inverse cosine of complex numbers
2 次查看(过去 30 天)
显示 更早的评论
I'm trying to get the inverse cosine of a complex number. Using the definition given in the help of acos(z) produces a different result than directly using acos. See below for the code snippet. Can someone help me out?
format LONGENG
z = 0.625820036622262+1.576125391478034E-055i;
res1 = acos(z)
d = z + i*sqrt(1-(z*z))
res2 = -i*log(d)
0 个评论
回答(1 个)
Andrew Reibold
2014-10-9
编辑:Andrew Reibold
2014-10-9
I know why!
You were close, but you didn't quite replicate the definition in the documentation correctly.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/176033/image.png)
This is how you would write it.
d = z + i*sqrt(1-z*z)
res2 = -i*log(d)
Using this corrected definition, I get approximately 0.894613863 + ~0i for both answers.
First Method Solution: 0.894613863926113 - 2.02075780910344e-55i
Second Method Solution: 0.894613863926114 + 1.11022302462516e-16i
Bother of the i values are near negligible in magnitude relative to the real part.
Hope this helped!
-Andrew
4 个评论
Andrew Reibold
2014-10-10
编辑:Andrew Reibold
2014-10-10
For some reason I thought your square root function was only taking the square root of z^2. Unless you edited the question, I just made an honest mistake saying you typed it wrong I guess.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!