スプレッドシートで「双曲線余弦(ハイパボリックコサイン)」を計算したいとき、どの関数を使えばいいか迷っていませんか?
数学の教科書では見かけるけど、スプレッドシートでの書き方がわからないですよね。
そんなときに使うのがCOSH関数です。=COSH(値) と書くだけで、双曲線余弦をかんたんに求められます。
この記事では基本の書き方から、EXP関数との関係、COS関数との違い、カテナリー曲線への応用まで紹介します。
スプレッドシートのCOSH関数とは?
COSH関数(読み方: ハイパボリックコサイン関数)は、指定した値の双曲線余弦を返す関数です。名前は英語の「Hyperbolic Cosine」の略に由来します。
たとえば =COSH(1) と入力すると「1.54308…」が返ります。これが1の双曲線余弦の値です。
双曲線余弦は、三角関数のコサイン(余弦)とは異なる関数です。三角関数が「円」の性質をもとにしているのに対して、双曲線関数は「双曲線」の性質をもとにしています。
COSH関数にできることをまとめると、次のとおりです。
- 指定した値の双曲線余弦を返す
- カテナリー曲線(吊り橋や電線のy座標)の計算に使う
- EXP関数と組み合わせて検算する
- 物理学・工学の計算に活用する
NOTE
COSH関数はGoogleスプレッドシートの全バージョンで使えます。Excelとも完全に互換性があるので、ファイルのやり取りでも安心です。
COSH関数の書き方(構文と引数)
基本構文
=COSH(値)
カッコの中に、双曲線余弦を求めたい数値を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 双曲線余弦を求めたい実数値 |
引数は1つだけです。COS関数とは違い、ラジアンへの変換は不要です。そのまま数値を渡せばOKですよ。
TIP
COS関数は引数に「角度(ラジアン)」を取りますが、COSH関数は「任意の実数値」を取ります。RADIANS関数での変換は必要ありません。
COSH関数の基本的な使い方
代表的な値でCOSH関数の動きを確認してみましょう。
正の値を渡す
=COSH(1)
結果は「1.54308…」です。
もう少し大きい値も見てみます。
=COSH(2)
結果は「3.76219…」です。値が大きくなると結果も急激に大きくなるのが特徴ですね。
0を渡す
=COSH(0)
結果は「1」です。COSH(0)=1 は覚えておくと便利です。SINH関数ではSINH(0)=0でしたが、COSH関数では1になる点が違いますね。
負の値を渡す
=COSH(-1)
結果は「1.54308…」です。COSH(1)とまったく同じ値になっています。
これはCOSH関数が「偶関数」だからです。COSH(-x) = COSH(x) が常に成り立ちます。SINH関数が奇関数(符号が反転する)なのとは対照的ですね。
まとめると
代表的な入力値と結果を一覧にまとめます。
| 数式 | 結果 | 備考 |
|---|---|---|
| =COSH(0) | 1 | 最小値(原点が1) |
| =COSH(1) | 1.54308… | 基本値 |
| =COSH(2) | 3.76219… | 急激に増加 |
| =COSH(-1) | 1.54308… | 偶関数(正の値と同じ) |
| =COSH(-2) | 3.76219… | 偶関数(正の値と同じ) |
| =COSH(5) | 74.20994… | 大きい値は急増 |
結果が常に1以上になるのがポイントです。COSH関数の最小値はCOSH(0)=1で、負の値にはなりません。
セル参照を使う
もちろんセル参照も使えます。A1セルに数値が入っていれば、次のように書きます。
=COSH(A1)
A列に複数の値を入れて、B列にCOSH関数を並べれば一括計算もできますよ。
COSH関数の数学的な仕組み
定義式とEXP関数での検算
COSH関数は数学的に次のように定義されています。
COSH(x) = (e^x + e^(-x)) / 2
ここでeはネイピア数(約2.71828)です。SINH関数の定義式が引き算 (e^x - e^(-x))/2 だったのに対して、COSH関数は足し算になっています。
スプレッドシートではEXP関数を使って同じ計算ができます。
=(EXP(A1) + EXP(-A1)) / 2
この式とCOSH(A1)は同じ結果を返します。実際にA1に「1」を入れて確認してみましょう。
| 数式 | 結果 |
|---|---|
| =COSH(1) | 1.54308… |
| =(EXP(1)+EXP(-1))/2 | 1.54308… |
どちらも同じ値ですね。COSH関数の結果が正しいか不安なときは、EXP関数を使った式で検算できます。
TIP
EXP関数はネイピア数eのべき乗を返す関数です。詳しくはEXP関数の記事をご覧ください。
COS関数との違い
名前は似ていますが、COS関数とCOSH関数はまったく別の関数です。
| 項目 | COS関数 | COSH関数 |
|---|---|---|
| 正式名称 | 余弦(コサイン) | 双曲線余弦(ハイパボリックコサイン) |
| 数学的な背景 | 円(三角関数) | 双曲線(双曲線関数) |
| 引数 | 角度(ラジアン) | 任意の実数値 |
| 値の範囲 | -1 から 1 | 1 以上(下限が1) |
| RADIANS変換 | 必要 | 不要 |
| 周期性 | あり(2πごとに繰り返す) | なし |
| 偶関数 | はい | はい |
一番大きな違いは「値の範囲」です。COS関数の結果は-1から1の間に収まります。一方、COSH関数の結果は常に1以上で、入力が大きくなるほど結果も大きくなります。
共通点は「どちらも偶関数」であることです。COS(-x)=COS(x) も COSH(-x)=COSH(x) も成り立ちます。
詳しくはCOS関数の記事も参考にしてみてください。
実務での活用例
カテナリー曲線(吊り橋・電線のy座標)
COSH関数の代表的な応用が「カテナリー曲線」です。カテナリーとは、両端を固定した鎖やロープが自重で垂れ下がるときにできる曲線のこと。吊り橋のケーブルや、電柱間の電線の形がこれにあたります。
カテナリー曲線の高さ(y座標)は、COSH関数で表されます。
y = a × COSH(x / a)
たとえば、パラメータa=10として、各地点の高さを求めてみましょう。
A列にxの値、B1に次の式を入力します。
=10*COSH(A1/10)
| x(A列) | y座標・高さ(B列) |
|---|---|
| 0 | 10 |
| 5 | 11.27625… |
| 10 | 15.43080… |
| 20 | 37.62195… |
x=0のとき最も低く(y=a=10)、xが大きくなるほど高さも急激に増えます。SINH関数の記事で紹介した弧の長さとあわせて使えば、ケーブルの形状と長さの両方を見積もることができますよ。
TIP
カテナリー曲線では、COSH関数がy座標(高さ)を、SINH関数が弧の長さを担当します。セットで覚えておくと便利です。
よくあるエラーと対処法
COSH関数でよくあるトラブルをまとめます。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #VALUE! エラー | 引数に文字列を渡した | 数値またはセル参照を指定する |
| #NUM! エラー | 指数が大きすぎる | 引数の値を小さくする(約710が上限) |
| COS関数と結果が違う | 関数を間違えている | COSは三角関数、COSHは双曲線関数。目的に合った方を使う |
文字列を渡したとき
=COSH("abc")
結果は #VALUE! エラーです。引数には必ず数値を渡してください。セル参照の場合は、参照先が数値であることを確認しましょう。
指数が大きすぎるとき
=COSH(1000)
結果は #NUM! エラーです。COSH関数は内部で e^x を計算するため、引数が大きすぎるとオーバーフローします。実用上は引数を710以下に抑えれば問題ありません。
似た関数との違い・使い分け
| 関数 | 動作 | 引数 | 用途 |
|---|---|---|---|
| COSH | 双曲線余弦を返す | 実数値 | カテナリー曲線のy座標 |
| SINH | 双曲線正弦を返す | 実数値 | カテナリー曲線の弧の長さ |
| TANH | 双曲線正接を返す | 実数値 | 機械学習の活性化関数 |
| COS | 余弦(コサイン)を返す | 角度(ラジアン) | 三角関数・座標計算 |
| ACOSH | 逆双曲線余弦を返す | 1以上の実数値 | COSH値から元の値を逆算 |
| EXP | eのべき乗を返す | 指数 | 指数関数・成長率計算 |
SINH・COSH・TANHは双曲線関数の仲間です。三角関数のSIN・COS・TANに対応する関係ですね。
双曲線関数には三角関数と似た性質があります。
COSH(x)^2 - SINH(x)^2 = 1
TANH(x) = SINH(x) / COSH(x)
三角関数の SIN^2+COS^2=1 に対して、双曲線関数では COSH^2-SINH^2=1 になる点が違いです。
まとめ
COSH関数は、指定した値の双曲線余弦(ハイパボリックコサイン)を返す関数です。
ポイントを整理します。
- 構文は
=COSH(値)で、引数は任意の実数値 - COS関数と違い、ラジアン変換は不要
- COSH(0)=1、COSH(1)=1.5430 が代表的な値
- 偶関数なので、COSH(-x) = COSH(x) が成り立つ
- 定義式は (e^x + e^(-x))/2 で、EXP関数で検算できる
- カテナリー曲線(吊り橋・電線のy座標)の計算に活用できる
まずは =COSH(1) で1.5430が返ることを確認してみてください。
