C++ STLのacos()関数とは?使い方をサンプルコード付きで解説
C++ STLのacos()関数とは
acos()関数は、ラジアン単位で与えられた値に対する逆余弦(アークコサイン)を返す関数で、C++のSTLに標準で組み込まれています。この関数は<cmath>ヘッダで定義されています。
acos()関数の構文
acos(var)
構文から分かるように、acos()関数はfloat、double、long doubleのいずれかのデータ型を持つ引数varを1つ受け取ります。引数の値は-1から1の範囲内でなければなりません。範囲外の値を渡した場合はNaN(非数)が返される点に注意が必要です。戻り値は、-πからπの範囲におけるvarの逆余弦(ラジアン単位)です。
acos()関数の基本的な使い方
C++でacos()関数を使用するプログラムの例を以下に示します。
使用例
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double d = 0.75, ans;
ans = acos(d);
cout << "acos(" << d << ") = " << ans << endl;
return 0;
}出力
acos(0.75) = 0.722734
このプログラムでは、まず変数dを0.75で初期化しています。次に、acos()関数を使ってdの逆余弦を計算し、その結果を変数ansに格納します。最後に、ansの値を出力しています。処理の流れは以下のコード部分で表されています。
double d = 0.75, ans;
ans = acos(d);
cout << "acos(" << d << ") = " << ans << endl;結果を度数法(度)に変換して表示する
acos()関数の戻り値はラジアン単位のため、必要に応じて度数法(度)に変換して表示することもできます。変換には「180 / π」を掛けます。そのプログラム例を以下に示します。
使用例
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double d = 0.75, ans;
ans = acos(d);
ans = ans * 180 / 3.14159;
cout << "acos(" << d << ") = " << ans << endl;
return 0;
}出力
acos(0.75) = 41.4097
このプログラムでは、acos()関数で逆余弦を求めた後、その値に「180 / 3.14159」を掛けて度数に変換しています。最後に、変換後の値を出力しています。該当するコード部分は以下の通りです。
double d = 0.75, ans;
ans = acos(d);
ans = ans * 180 / 3.14159;
cout << "acos(" << d << ") = " << ans << endl;まとめ
acos()関数は、-1から1の範囲の値に対して逆余弦をラジアン単位で返す、C++ STLの標準的な数学関数です。結果を度数法で扱いたい場合は、180 / πを掛けて変換するだけで簡単に求められます。
-
C++ STLのcosh()関数とは?双曲線余弦の求め方をサンプルコード付きで解説
cosh()関数とは? C++のSTLに組み込まれているcosh()関数は、ラジアン単位で与えられた角度の双曲線余弦(ハイパボリック・コサイン)を計算して返す関数です。使用するには、<cmath>ヘッダーをインクルードする必要があります。 双曲線余弦は、数学的に次の式で定義されます。 cosh(x) = (e^x + e^(-x)) / 2 構文 cosh()関数の構文は以下の通りです。 cosh(var) 構文から分かるように、cosh()関数はfloat型、double型、long double型のいずれかの引数varを受け取ります。そして、その双曲線余弦を返します。なお、引
-
C++ STLのsinh()関数の使い方を徹底解説
sinh()関数とはsinh()関数は、ラジアンで指定された値の双曲線正弦(ハイパボリックサイン)を返す関数です。C++のSTL(標準テンプレートライブラリ)に組み込まれており、<cmath>ヘッダをインクルードすることで利用できます。双曲線正弦は、以下の数式で定義されます。sinh(x) = (e^x − e^−x) / 2sinh()関数の構文sinh()関数の構文は以下のとおりです。sinh(var)構文からわかるように、sinh()関数はfloat型、double型、long double型のいずれかのパラメータvarを受け取ります。戻り値は、varの双曲線正弦です。sin