スプレッドシートのSECH関数の使い方|双曲線正割

スポンサーリンク

スプレッドシートで「双曲線正割(ハイパボリックセカント)」を計算したいとき、どの関数を使えばいいか迷っていませんか?

双曲線関数の中でもセカント系はなじみが薄くて、書き方がわからないですよね。

そんなときに使うのがSECH関数です。=SECH(値) と書くだけで、双曲線正割をかんたんに求められます。数学的にはCOSH関数の逆数にあたる関数ですよ。

この記事では基本の書き方から、COSH関数との関係、SEC関数との違い、出力が0から1に収まる特性まで紹介します。

スプレッドシートのSECH関数とは?

SECH関数(読み方: ハイパボリックセカント関数)は、指定した値の双曲線正割を返す関数です。名前は英語の「Hyperbolic Secant」の略に由来します。

たとえば =SECH(0) と入力すると「1」が返ります。これが0の双曲線正割の値です。

双曲線正割は、COSH関数の逆数として定義されます。つまり SECH(x) = 1/COSH(x) の関係です。SEC関数がCOS関数の逆数だったのと同じ発想ですね。

SECH関数にできることをまとめると、次のとおりです。

  • 指定した値の双曲線正割を返す
  • COSH関数の逆数として検算に使う
  • 出力が0から1の範囲に収まる特性を活かした計算に使う
  • 物理学・統計学の計算(確率密度関数など)に活用する

NOTE

SECH関数はGoogleスプレッドシートの全バージョンで使えます。Excelとも完全に互換性があるので、ファイルのやり取りでも安心です。

SECH関数の書き方(構文と引数)

基本構文

=SECH(値)

カッコの中に、双曲線正割を求めたい数値を指定します。

引数の説明

引数必須/任意説明
必須双曲線正割を求めたい実数値

引数は1つだけです。SEC関数とは違い、ラジアンへの変換は不要です。そのまま数値を渡せばOKですよ。

TIP

SEC関数は引数に「角度(ラジアン)」を取りますが、SECH関数は「任意の実数値」を取ります。RADIANS関数での変換は必要ありません。

SECH関数の基本的な使い方

代表的な値でSECH関数の動きを確認してみましょう。

0を渡す

=SECH(0)

結果は「1」です。SECH(0)=1 はSECH関数の最大値です。COSH関数ではCOSH(0)=1が最小値でしたが、逆数なのでSECH(0)=1が最大値になります。

正の値を渡す

=SECH(1)

結果は「0.64805…」です。

もう少し大きい値も見てみます。

=SECH(2)

結果は「0.26580…」です。値が大きくなるほど結果は0に近づいていきます。COSH関数が急激に大きくなるため、その逆数は急激に小さくなるわけですね。

負の値を渡す

=SECH(-1)

結果は「0.64805…」です。SECH(1)とまったく同じ値になっています。

これはSECH関数が「偶関数」だからです。SECH(-x) = SECH(x) が常に成り立ちます。元になるCOSH関数も偶関数なので、その逆数も偶関数になりますよ。

まとめると

代表的な入力値と結果を一覧にまとめます。

数式結果備考
=SECH(0)1最大値(原点が1)
=SECH(1)0.64805…基本値
=SECH(2)0.26580…0に近づく
=SECH(-1)0.64805…偶関数(正の値と同じ)
=SECH(-2)0.26580…偶関数(正の値と同じ)
=SECH(5)0.01347…ほぼ0

結果が常に0より大きく1以下になるのがポイントです。SECH(0)=1が最大値で、入力の絶対値が大きくなるほど結果は0に近づきます。

セル参照を使う

もちろんセル参照も使えます。A1セルに数値が入っていれば、次のように書きます。

=SECH(A1)

A列に複数の値を入れて、B列にSECH関数を並べれば一括計算もできますよ。

SECH関数の数学的な仕組み

定義式とCOSH関数との関係

SECH関数は数学的に次のように定義されています。

SECH(x) = 1 / COSH(x) = 2 / (e^x + e^(-x))

ここでeはネイピア数(約2.71828)です。COSH関数の定義 (e^x + e^(-x))/2 を逆数にした形ですね。

スプレッドシートではEXP関数を使って同じ計算ができます。

=2/(EXP(A1) + EXP(-A1))

この式とSECH(A1)は同じ結果を返します。実際にA1に「1」を入れて確認してみましょう。

数式結果
=SECH(1)0.64805…
=1/COSH(1)0.64805…
=2/(EXP(1)+EXP(-1))0.64805…

3つとも同じ値ですね。SECH関数の結果が正しいか不安なときは、COSH関数やEXP関数を使った式で検算できます。

TIP

COSH関数は双曲線余弦を返す関数です。詳しくはCOSH関数の記事をご覧ください。

出力が0から1に収まる特性

SECH関数の出力は常に0より大きく1以下の範囲に収まります。

これはCOSH関数の最小値がCOSH(0)=1であるためです。COSH(x)が常に1以上なので、その逆数であるSECH(x)は常に1以下になります。また、COSH(x)は正の値しか取らないため、SECH(x)も正の値のみです。

0 < SECH(x) <= 1(すべてのxについて成り立つ)

この「出力が0から1の範囲」という特性は、確率密度関数やシグモイド関数に近い性質を持つため、統計や機械学習の分野で活用されることがあります。

SEC関数との違い

名前は似ていますが、SEC関数とSECH関数はまったく別の関数です。

項目SEC関数SECH関数
正式名称正割(セカント)双曲線正割(ハイパボリックセカント)
数学的な背景円(三角関数)双曲線(双曲線関数)
引数角度(ラジアン)任意の実数値
逆数の対象COS関数COSH関数
値の範囲1以上 または -1以下0より大きく1以下
RADIANS変換必要不要
偶関数はいはい

一番大きな違いは「値の範囲」です。SEC関数は絶対値が1以上(-1以下または1以上)になるのに対して、SECH関数は0から1の間に収まります。

共通点は「どちらも偶関数」で、「どちらもコサイン系関数の逆数」であることです。SEC = 1/COS、SECH = 1/COSH という対応関係で覚えておくとわかりやすいですよ。

実務での活用例

確率分布(双曲線正割分布)

SECH関数の代表的な応用が「双曲線正割分布」です。確率密度関数がSECH関数で表される分布で、正規分布に似た釣鐘型の曲線を描きます。

確率密度関数は次の式で表されます。

f(x) = 1/(2π) × SECH(x/2)

スプレッドシートで各地点の確率密度を求めてみましょう。A列にxの値を入力して、B1に次の式を入れます。

=1/(2*PI())*SECH(A1/2)
x(A列)f(x)・確率密度(B列)
00.15915…
10.14017…
20.10507…
30.06644…
50.01833…

x=0で最大値を取り、xの絶対値が大きくなるほど0に近づきます。正規分布に似た形ですが、裾が少し重い(ゆっくり減少する)のが特徴です。

COSH関数の逆数として検算に使う

COSH関数の計算結果を確認したいとき、SECH関数を使って検算できます。

=COSH(A1) * SECH(A1)

この式はどんな値でも必ず「1」を返します。COSH(x) x SECH(x) = 1 が常に成り立つからです。結果が1にならなければ、どこかに入力ミスがあるとわかりますよ。

よくあるエラーと対処法

SECH関数でよくあるトラブルをまとめます。

症状原因対処法
#VALUE! エラー引数に文字列を渡した数値またはセル参照を指定する
結果がほぼ0引数の絶対値が大きすぎるSECH関数は入力が大きいと急激に0に近づく。正常な動作
SEC関数と結果が違う関数を間違えているSECは三角関数、SECHは双曲線関数。目的に合った方を使う

文字列を渡したとき

=SECH("abc")

結果は #VALUE! エラーです。引数には必ず数値を渡してください。セル参照の場合は、参照先が数値であることを確認しましょう。

引数が大きいときの挙動

=SECH(100)

結果は「7.4401…E-44」と、ほぼ0の値になります。これはエラーではなく正常な動作です。COSH関数が引数が大きいと急激に増大するため、その逆数は急激に0に近づきます。

ただし、引数がさらに大きく(約710以上)なると、COSH側がオーバーフローするため #NUM! エラーになることがあります。

似た関数との違い・使い分け

関数動作引数用途
SECH双曲線正割を返す実数値COSH関数の逆数・確率密度関数
COSH双曲線余弦を返す実数値カテナリー曲線のy座標
CSCH双曲線余割を返す実数値(0以外)SINH関数の逆数
COTH双曲線余接を返す実数値(0以外)TANH関数の逆数
SEC正割(セカント)を返す角度(ラジアン)COS関数の逆数・斜辺の計算
TANH双曲線正接を返す実数値機械学習の活性化関数
EXPeのべき乗を返す指数指数関数・成長率計算

SECH・CSCHCOTHは双曲線関数の逆数3兄弟です。それぞれCOSH・SINH・TANHの逆数にあたります。

SECH(x) = 1 / COSH(x)
CSCH(x) = 1 / SINH(x)
COTH(x) = 1 / TANH(x)

三角関数のSEC・CSC・COTに対応する関係ですね。3つの逆数関数をセットで覚えておくと、双曲線関数の理解が深まりますよ。

まとめ

SECH関数は、指定した値の双曲線正割(ハイパボリックセカント)を返す関数です。

ポイントを整理します。

  • 構文は =SECH(値) で、引数は任意の実数値
  • SEC関数と違い、ラジアン変換は不要
  • SECH(0)=1 が最大値で、入力が大きいほど0に近づく
  • 偶関数なので、SECH(-x) = SECH(x) が成り立つ
  • 定義式は 1/COSH(x) = 2/(e^x + e^(-x)) で、EXP関数で検算できる
  • 出力が常に0から1の範囲に収まるのが特徴
  • CSCH関数COTH関数と合わせて双曲線関数の逆数3兄弟

まずは =SECH(0) で1が返ることを確認してみてください。

タイトルとURLをコピーしました