C 库 - cexp() 函数



C 的复数cexp() 函数用于计算给定 z(复数)的复数以 e 为底的指数。

此函数取决于 z(复数)的类型。如果 z 为“float”类型,我们可以使用cexpf()计算以 e 为底的复数指数;对于 long double 类型,使用cexpl();对于 double 类型,使用cexp()

注意:对于 z = a+bi,复数指数函数 ez 等于 ea cis(b),其中 cis(b) 为 cos(b) + isin(b)。指数函数是复平面上的整函数,没有分支切割。

语法

以下是 cexp() 函数的 C 库语法:

double complex cexp( double complex z );

参数

此函数接受一个参数:

  • Z − 它表示我们要计算其指数的复数。

返回值

如果未发生错误,此函数返回 e 的 z 次幂 (ez),其中 e 表示自然对数的底。

示例 1

以下是一个基本的 C 程序,用于演示如何使用复数的 cexp()

#include <stdio.h>
#include <complex.h>
#include <math.h>
int main()
{
   double complex z = 1 + 2*I;
   double expo = cexp(z);
   printf("z = %.1f + %.1fi\n", creal(z),cimag(z));
   printf("exponent of z = %.1f + %.1fi\n", creal(expo),cimag(expo));
}

输出

以下是输出:

z = 1.0 + 2.0i
exponent of z = -1.1 + 0.0i

示例 2

计算 e 的值

让我们看另一个例子,我们使用欧拉公式,使用 cexp() 函数计算复数的指数。

#include <stdio.h>
#include <math.h>
#include <complex.h>
 
int main(void)
{
   double PI = acos(-1);
   double complex z = cexp(I * PI); // Euler's formula
   printf("exp(i*pi) = %.1f%+.1fi\n", creal(z), cimag(z)); 
}

输出

以下是输出:

exp(i*pi) = -1.0+0.0i

示例 3

负复数的指数

在下面的 C 示例中,我们使用 cexp() 函数计算 e-3 + -4i

#include <stdio.h>
#include <complex.h>
#include <math.h>
int main()
{
   double complex z = -3 + -4*I;
   double expo = cexp(z);
   printf("z = %.1f + %.1fi\n", creal(z),cimag(z));
   printf("exponent of z = %.1f + %.1fi\n", creal(expo),cimag(expo));
}

输出

以下是输出:

z = -3.0 + -4.0i
exponent of z = -0.0 + 0.0i
c_library_complex_h.htm
广告