The cexp functions (C99) - cexp, cexpf, cexpl

底がネイピア数 e である指数関数 (指数は複素数) を計算します.

cexp (C99)

#include <complex.h>
double complex cexp(
    double complex z
);

cexp 関数は,自然対数の底 e の z 乗を計算し,結果を double complex 型で返します.

cexpf (C99)

#include <complex.h>
float complex cexpf(
    float complex z
);

cexpf 関数は,自然対数の底 e の z 乗を計算し,結果を float complex 型で返します.

cexpl (C99)

#include <complex.h>
long double complex cexpl(
    long double complex z
);

cexpl 関数は,自然対数の底 e の z 乗を計算し,結果を long double complex 型で返します.

戻り値

  • e を底とする指数関数値 (複素数)

C言語サンプルプログラム

以下に cexp 関数を使用して e を底とする複素数の指数関数値を求めるサンプルプログラムを示します.

/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <complex.h>

/* macros */
#define PI 3.14159265

/* main */
int main(void) {
    double theta = PI;
    double complex z = theta * I;
    double complex cexp_z01, cexp_z02;

    /* 指数関数を求める */
    cexp_z01 = cexp(z);
    cexp_z02 = (cos(theta) + sin(theta) * I);

    /* 表示 */
    printf("cexp 関数で求めた値:      %.10f + %.10fi\n",
        creal(cexp_z01), cimag(cexp_z01));
    printf("オイラーの公式で求めた値: %.10f + %.10fi\n",
        creal(cexp_z02), cimag(cexp_z02));

    return EXIT_SUCCESS;
}

実行例

サンプルプログラムの実行結果は以下のようになります.

cexp 関数で求めた値:   -1.0000000000 + 0.0000000036i
オイラーの公式で求めた値: -1.0000000000 + 0.0000000036i