【スプレッドシート】IMCSCH関数の使い方|複素数の双曲線余割を求める

スポンサーリンク

「複素数の双曲線余割 csch(z) をスプレッドシートでサッと出したい」というとき、IMCSCH関数の出番です。電気回路や伝送線路の計算で sinh の逆数が必要になる場面、地味にありますよね。

このIMCSCHもExcelには存在せず、Googleスプレッドシート独自の関数です。今回は構文から基本例、応用、エラー対処、関連関数との違いまでひととおり確認していきましょう。

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

IMCSCH関数は、複素数 z の双曲線余割 csch(z) を計算する関数です。

数学的な定義はシンプルで、双曲線正弦の逆数として表せます。

csch(z) = 1 / sinh(z)

実数 x に対しては 2 / (e^x - e^-x) という形になります。sinh(z) がゼロにならない限り、複素数 z でも普通に計算できますよ。

構文

IMCSCH(数値)

引数の「数値」には、双曲線余割を求めたい複素数を指定します。書き方は2通りです。

  • 文字列で渡す: "1+2i""3-4j" のように虚数単位 i または j を含む文字列
  • 実数で渡す: 12.5 のように虚数部がゼロの数値

戻り値は “x+yi” 形式の文字列で返ります。表示は文字列ですが、IMREAL や IMAGINARY、IMABS などの複素数関数にそのまま渡せるので扱いやすいです。

NOTE

IMCSCH関数は Excelには存在しません。Googleスプレッドシート独自の関数なので、Excel互換のシートで使う場合は IMDIV と IMSINH を組み合わせて代用しましょう。

IMCSCH関数の基本的な使い方

それでは実際のセルに入力してみましょう。

実数を渡す場合

虚数部がゼロの複素数(実数)を渡すと、csch(x) の実数値が返ります。

=IMCSCH(1)

結果は 0.850918128239322 です。これは csch(1) = 1/sinh(1) の値ですね。実数で返ってきますが、念のため IMREAL を通しておくと安心です。

文字列で複素数を渡す場合

虚数部を持つ複素数は、ダブルクォートで囲んだ文字列として渡します。

=IMCSCH("1+1i")

結果は 0.303931001628637-0.621518017170428i 前後の値になります。1+i における csch の実部と虚部がきちんと返ってきます。

純虚数を渡す場合

実部がゼロの純虚数も渡せます。

=IMCSCH("1i")

数学的には csch(iy) = -i・csc(y) という関係があるので、実部はほぼゼロ、虚部に csc(1) を符号反転した値が入ります。

“j”形式も受け付ける

電気工学の慣習で虚数単位を j で書きたいときも問題ありません。

=IMCSCH("1+1j")

"1+1i" と同じ計算結果が返ります。シート全体で ji のどちらかに統一しておくと混乱しません。

IMCSCH関数の応用例

基本が分かったところで、実用的な使い方をいくつか見ていきます。

csch(z) = 1 / sinh(z) を検算する

定義どおり、IMSINH の逆数(IMDIV で1を割った値)と一致するかを確認できます。

=IMDIV(1, IMSINH("1+1i"))

これは =IMCSCH("1+1i") と同じ値を返します。授業のレポートや業務での検算にちょうどよい使い方です。

IMCSCHとIMSINHは互いに逆数

双曲線余割は双曲線正弦の逆数なので、掛け算すると1になるはずです。

=IMPRODUCT(IMCSCH("1+1i"), IMSINH("1+1i"))

結果は "1" または微小な誤差を含む "1+1.1e-16i" のような値になります。浮動小数点誤差の範囲で1になることが確認できますね。

実部と虚部を別々のセルに取り出す

csch(z) の値を後段の計算で使うなら、IMREAL と IMAGINARY で分解しておくと便利です。

セル数式内容
A1=IMCSCH("1+1i")csch(1+i)
B1=IMREAL(A1)実部
C1=IMAGINARY(A1)虚部
D1=IMABS(A1)絶対値

A1で計算した結果をB1〜D1で展開する形です。スプレッドシートの表形式と相性のよい使い方ですよ。

IMCSCH関数でよくあるエラーと対処法

IMCSCH関数を使っていると、いくつかのエラーに出会うことがあります。原因と対処をまとめておきましょう。

エラー主な原因対処方法
#NUM!引数が0、または z = nπi(sinh(z) = 0 の点)0や πi の整数倍を避ける
#VALUE!複素数として解釈できない文字列虚数単位は ij のみ。"1+1k" などはNG
#N/A引数の数が不正IMCSCH(数値) の1引数を必ず指定

#NUM! エラー: csch(0) は計算できない

数学的に csch(z) は sinh(z) = 0 となる点で定義されません。一番ありがちなのが z = 0 のケースです。

=IMCSCH(0)

これは #NUM! を返します。sinh(0) = 0 で1を割ろうとしてゼロ除算になるからですね。同じ理由で "0+πi" のような π の整数倍の純虚数も極になるので、計算前に z の値を確認しておきましょう。

#VALUE! エラー: 虚数単位は i か j

虚数単位として認識されるのは ij だけです。それ以外の文字を使うと #VALUE! になります。

=IMCSCH("1+1k")  → #VALUE!
=IMCSCH("1+1i")  → 正常

& 演算子で文字列を組み立てる場合は、虚数単位を間違えないように注意してくださいね。

IMCSCH関数と関連関数の違い

最後に、似た名前の関数との違いを整理しておきます。混同しやすいポイントです。

関数計算内容数式
IMCSCH双曲線余割csch(z) = 1/sinh(z)
IMSINH双曲線正弦sinh(z) = (e^z – e^-z)/2
IMSECH双曲線正割sech(z) = 1/cosh(z)
IMCOTH双曲線余接coth(z) = cosh(z)/sinh(z)
IMCSC余割(三角関数)csc(z) = 1/sin(z)

特に注意したいのが IMCSC と IMCSCH の違いです。H がつくと双曲線関数、つかないと普通の三角関数になります。1文字違いで意味が全く変わるので、入力時に必ず確認しましょう。

関連記事として、IMCSC関数(複素数の余割)IMCOTH関数(複素数の双曲線余接)IMCOSH関数(複素数の双曲線余弦) もあわせて確認しておくと、複素数の三角・双曲線関数まわりがスッキリ整理できますよ。

まとめ

スプレッドシートのIMCSCH関数について、ポイントを振り返ります。

  • IMCSCH は複素数の双曲線余割 csch(z) を求める関数で、構文は IMCSCH(数値)
  • Excelには存在しない、スプレッドシート独自の関数
  • 戻り値は “x+yi” 形式の文字列。IMREAL や IMAGINARY で分解できる
  • csch(0) や z = nπi は極なので #NUM! になる
  • IMCSC(三角関数)と IMCSCH(双曲線)の H の有無に注意

複素数の csch を使う場面は限られますが、いざというときスプレッドシート1枚で完結できるのは便利ですよね。関連関数とあわせて、必要なときに引ける形にしておきましょう。

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