【C++】指数関数・対数関数の計算とグラフの表示

【C++】指数関数・対数関数の計算とグラフの表示

指数関数の計算

指数関数とは、ある数を特定の指数で累乗した値を求める関数です。C++では、exp() 関数を使って指数関数を計算できます。

#include <iostream>
#include <cmath>

int main() {
    double x = 2.0;
    double result = exp(x);
    std::cout << "e^" << x << " = " << result << std::endl;
    return 0;
}

上記のコードは e^2 の値を計算し、出力します。

対数関数の計算

対数関数とは、ある数の対数を求める関数です。C++では、log() を使うと自然対数(底e)を計算できます。

#include <iostream>
#include <cmath>

int main() {
    double y = 7.389;
    double result = log(y);
    std::cout << "log(" << y << ") = " << result << std::endl;
    return 0;
}

また、底10の対数を求めるには log10() を使用します。

グラフの表示

C++でグラフを描画するには、gnuplot や matplotlib を使う方法があります。ここでは、gnuplotを使用する方法を紹介します。

#include <iostream>
#include <fstream>
#include <cmath>

int main() {
    std::ofstream file("data.txt");
    for (double x = -2.0; x <= 2.0; x += 0.1) {
        file << x << " " << exp(x) << " " << log(x + 3.0) << std::endl;
    }
    file.close();
    std::cout << "gnuplot でプロットするには、以下を実行してください:\n";
    std::cout << "gnuplot -p -e \"plot 'data.txt' using 1:2 with lines title 'exp(x)', 'data.txt' using 1:3 with lines title 'log(x+3)'\"\n";
    return 0;
}

このコードはデータを data.txt に保存し、gnuplotを使ってプロットするコマンドを出力します。

まとめ

C++では指数関数・対数関数を簡単に計算できます。また、gnuplotを使うことでグラフ化も可能です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です