【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を使うことでグラフ化も可能です。