6.1.5  复数的超越函数运算

6.1.5 复数的超越函数运算

复数相关的超越函数一般包括三角函数和指数函数。三角函数主要是指sin、cos、tan、sinh、cosh和tanh等。指数函数主要是指幂函数、以e为底的幂函数、平方根函数、自然对数函数及以10为底的对数。

本小节将依次介绍上述超越函数。

1.三角函数

C语言提供的三角函数只有6种:sin、cos、tan、sinh、cosh和tanh。其原型分别为:

978-7-111-51399-5-Chapter06-22.jpg

复数的三角函数计算是依托自然指数实现的。假定复数zx+jy,则sin(z)的计算式为

978-7-111-51399-5-Chapter06-23.jpg

其余的三角函数均可由正弦函数、余弦函数和自然指数获得。

提示

Visual C++ 6.0没有提供复数的正切函数。例如,

978-7-111-51399-5-Chapter06-24.jpg

978-7-111-51399-5-Chapter06-25.jpg

上述程序的执行结果为:

978-7-111-51399-5-Chapter06-26.jpg

2.其他超越函数

其他超越函数主要包括幂函数、以e为底的幂函数、平方根函数、自然对数函数及以10为底的对数。

1)幂pow()函数。复数可以进行指数运算,即幂运算。STL为复数提供了幂pow()函数。其原型为:

978-7-111-51399-5-Chapter06-27.jpg

上述几种形式中,参数x为底,参数y为指数。

978-7-111-51399-5-Chapter06-28.jpg

上述代码的执行结果为:

978-7-111-51399-5-Chapter06-29.jpg

2)以e为底的幂exp()函数。以e为底的幂exp()函数的原型为:

978-7-111-51399-5-Chapter06-30.jpg

exp()函数的输入参数和返回值均为复数。

例如,

978-7-111-51399-5-Chapter06-31.jpg

上述代码的执行结果为:

978-7-111-51399-5-Chapter06-32.jpg

3)平方根sqrt()函数。复数平方根sqrt()函数的原型为:

978-7-111-51399-5-Chapter06-33.jpg

sqrt()函数的输入参数和输出参数均为复数类型。

例如,

978-7-111-51399-5-Chapter06-34.jpg

上述代码的执行结果为:

978-7-111-51399-5-Chapter06-35.jpg

4)对数log()函数。对数函数可分为“以10为底的对数函数”和“自然对数函数”。其原型为:

978-7-111-51399-5-Chapter06-36.jpg

例如,

978-7-111-51399-5-Chapter06-37.jpg

上述代码的执行结果为:

978-7-111-51399-5-Chapter06-38.jpg

总结

6.1.5节讲述了复数的超越函数。超越函数是最常见、最常用的数学函数,这些函数的使用方法较简单,读者了解即可。复数类模板最主要的成员函数包括real()、image()、abs()、norm(),arg(),<<,>>,conj(),polar()等。读者应熟练掌握,尤其是参与计算工作较多的程序开发人员,更是应该认真阅读本章的内容。