C 库 - cexp() 函数

❮ C 标准库 - <complex.h>


C complex 库中的 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", creal(z),cimag(z));
   printf("exponent of z = %.1f + %.1fi", 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", 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", creal(z),cimag(z));
   printf("exponent of z = %.1f + %.1fi", creal(expo),cimag(expo));
}

输出

以下是输出 -

z = -3.0 + -4.0i
exponent of z = -0.0 + 0.0i

❮ C 标准库 - <complex.h>