双曲線余弦関数

双曲線余弦関数

 双曲線余弦関数 (hyperbolic cosine)
 
\[\cosh x=\frac{e^x+e^{-x}}{2}\]
によって定義されます。Excel では

=COSH(数値)

によって引数の双曲線余弦値を取得できます。グラフの概形は2次関数とよく似ているのですが全くの別物です。とはいえ何となく似たもの同士を比べてみたくなったので、いくつか関数を作って調べてみました。$\cosh x$ から $x^2+1$ を引いて
 
\[y=\cosh x-x^2-1\]
という関数をつくってグラフに描いてみると ......

 双曲線余弦引く2次関数グラフ

 $y = \cosh x$ (青い点線) と $y=-x^2-1$ (緑の点線) の間を縫うような曲線となっていますね。指数関数のほうが2次関数より増加率が大きいので、全体としては $x$ の正負で発散する関数となっていますが、 $-2\lt x\lt 2$ のあたりでは2次関数に引張られて一時的に値を落として極値を2つ作っています。
 
 今度は双曲線余弦関数 $\cosh x$ を $x^2$ で割って
 
\[y=\frac{\cosh x}{x^2}=\frac{e^x+e^{-x}}{2x^2} \qquad (0 \lt x)\]
という関数のグラフを描いてみます。

 双曲線余弦割る2次関数グラフ

 やはり双曲線余弦関数のほうが増加率で優るので、$x$ → $0$ と $x$ → $\infty$ で $+\infty$ に発散する関数となっています。最小値は $x = 2$ のあたりにありそうですね。少し手を動かして確認しておきましょう。両辺に $x^2$ をかけて
 
\[2x^2y=e^x+e^{-x}\]
の両辺を微分すると
 
\[\begin{align*}&4xy+2x^2y'=e^x-e^{-x}\\[8pt]
&y'=\frac{e^x-e^{-x}}{2x^2}-\frac{4xy}{2x^2}=y-\frac{2y}{x}= y\left( 1-\frac{2}{x} \right)\end{align*}\]
 $y′= 0$ とおくと、ちょうど $x=2$ で最小値をとることがわかります。
 

VBA で双曲線余弦関数を使う

 VBA で 双曲線余弦関数 を使うときは、WorksheetFunction.Cosh(数値) の記述でワークシート関数を呼び出します。変数に格納する場合はデータ型を倍精度実数型 (Double) で宣言しておいてください。

'ワークシートの双曲線余弦関数を呼び出すマクロ

Sub cosh_test1()

  Dim x As Double

  x = WorksheetFunction.Cosh(1)

  Debug.Print x

End Sub

1.54308063481524

 
 Function マクロとして VBA 独自の双曲線余弦関数を定義する方法もあります。

'双曲線余弦関数を定義

Function Cosh(x As Double) As Double

  Cosh = (Exp(x) + Exp(-x)) / 2

End Function

 念のために、ワークシートの双曲線余弦関数と同じ値が出力されることを確認しておきましょう。

'独自に定義した双曲線余弦関数を呼び出すマクロ

Sub cosh_test2()

  Debug.Print Cosh(1)

End Sub

1.54308063481524

コメントをどうぞ

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください