スプレッドシートのSECH関数の使い方|双曲線正割(ハイパボリックセカント)を1関数で求める

スポンサーリンク

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

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

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

この記事では基本の書き方から、COSH関数との関係、SEC関数 との違い、出力が0から1に収まる特性、双曲線正割分布の計算例まで順番に紹介します。

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

SECH関数(読み方: ハイパボリックセカント関数)は、指定した値の双曲線正割を返す関数 です。名前は英語の「Hyperbolic Secant」を短くしたもので、数学記号では sech と表記します。

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

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

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

  • 指定した値の双曲線正割を1関数で求められる
  • COSH関数の逆数として検算に使える
  • 出力が0から1の範囲に収まる特性を活かした計算ができる
  • 物理学・統計学の計算(双曲線正割分布など)に活用できる

NOTE

SECH関数はGoogleスプレッドシートの全バージョンで利用できます。Excelとも完全互換なので、ファイルのやり取りでも安心ですよ。

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

基本構文

=SECH(値)

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

引数の説明

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

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

TIP

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

SECH関数の基本的な使い方

代表的な値で、SECH関数の動きを確認していきましょう。0・正の値・負の値の3パターンを押さえれば、応用にもすぐ進めます。

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(0.5)0.88681…なだらかに減少
=SECH(1)0.64805…基本値
=SECH(2)0.26580…0に近づく
=SECH(3)0.09932…さらに急減
=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関数(e のべき乗を返す関数)を使って、同じ計算ができます。

=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関数は日常業務で頻繁に登場する関数ではありませんが、数理モデルを扱う場面では便利な道具になります。代表的な3つの使い方を紹介します。

双曲線正割分布の確率密度を求める

SECH関数の代表的な応用が「双曲線正割分布(Hyperbolic Secant Distribution)」です。確率密度関数が 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.14114…
20.10314…
30.06765…
50.02595…

x=0で最大値を取り、xの絶対値が大きくなるほど0に近づきますね。正規分布に似た形ですが、裾が少し重い(ゆっくり減少する)のが特徴です。金融工学で価格変動のモデルに使われることもありますよ。

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

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

=COSH(A1) * SECH(A1)

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

ソリトン解・カテナリーモデルの計算に使う

物理学の世界では、SECH関数は「ソリトン(孤立波)」の波形を表す式に登場します。たとえば KdV方程式や非線形シュレディンガー方程式の解は SECH^2(x) の形で表現されます。

スプレッドシートで波形を計算したい場合は、次のように書きます。

=SECH(A1)^2

波の中心(A1=0)で最大値1を取り、両端に向かってなだらかに減衰する形になります。研究や教育用にグラフを描きたいときに便利な書き方ですよ。

よくあるエラーと対処法

SECH関数でつまずきやすいトラブルをまとめます。

症状原因対処法
#VALUE! エラー引数に文字列を渡した数値またはセル参照を指定する
#NUM! エラー引数の絶対値が約710以上値を小さくするか、結果を0として扱う
結果がほぼ0引数の絶対値が大きすぎる急激に0に近づくのは正常な動作
SEC関数と結果が違う関数を間違えているSECは三角関数、SECHは双曲線関数

文字列を渡したとき

=SECH("abc")

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

たとえばCSVから取り込んだデータが「文字列扱いの数値」になっていると、エラーが出ることがあります。そんなときは VALUE関数(文字列を数値に変換する関数)でいったん数値化してから渡すと安心ですよ。

引数が大きいときの挙動

=SECH(100)

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

ただし、引数がさらに大きく(約710以上)なると、COSH側がオーバーフローするため #NUM! エラーになります。実務で710を超える値を扱うことはほぼありませんが、想定外の大きな値が入っていないかチェックしておきましょう。

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

SECH関数の周辺には、よく似た双曲線関数や三角関数があります。整理しておくと混乱せずに使い分けられますよ。

関数動作引数用途
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関数とSEC関数は何が違いますか?

SEC関数は三角関数の「正割(セカント)」でCOS関数の逆数、SECH関数は双曲線関数の「双曲線正割」でCOSH関数の逆数です。引数の意味も異なり、SECはラジアン単位の角度、SECHは任意の実数値を受け取ります。名前が似ていますが用途がまったく異なるため、目的に合った関数を選んでください。

SECH関数で #NUM! エラーが出ました。どう対処しますか?

引数の絶対値が約710以上になるとCOSH側がオーバーフローし #NUM! エラーになります。通常の数値計算では発生しませんが、引数に非常に大きな値が入っていないか確認してください。引数が大きくなると結果はほぼ0に近づくため、計算上は0に置き換えるのも一つの対処法ですよ。

SECH(0)の結果がなぜ1になるのですか?

SECH(x) = 1/COSH(x) と定義されており、COSH(0) = 1 なので SECH(0) = 1/1 = 1 になります。SECH関数はx=0で最大値1をとり、xの絶対値が大きくなるほど0に近づく釣鐘型の関数です。

SECH関数は実務でどのような場面で使いますか?

主に統計・信号処理・数値解析の分野で使われます。代表的な用途は「双曲線正割分布」の確率密度関数の計算(=1/(2PI())SECH(x/2))や、COSH関数の検算(COSH(x)×SECH(x)=1 が常に成立することの確認)、ソリトン波形の SECH(x)^2 計算などです。日常業務での出番は限られますが、数理モデルを扱うエンジニアや研究者には頼れる関数ですよ。

SECH関数はExcelでも使えますか?

はい、ExcelでもSECH関数は同じ書き方で使えます。Excel 2013以降のバージョンで利用可能です。GoogleスプレッドシートとExcelのあいだでファイルをやり取りしても、関数が崩れる心配はありませんよ。

まとめ

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

ポイントを整理します。

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

まずは =SECH(0) で1が返ることを確認して、SECH関数の感覚をつかんでみてくださいね。

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