C 库 - cexp() 函数
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
计算 eiπ 的值
我们来看另一个示例,利用欧拉公式,使用 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