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

Cプログラマの必読書

たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください.

C実践プログラミング 第3版

C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです.
文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります. オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.


C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

ポインタの解説書としては最高の書籍です.
この1冊でポインタを完全に理解することができます.全くの初学者が読むには敷居が高いですが,入門書を読み終えた後に読むと非常に有益です.