Excel で複素数を計算する関数(IMSUM、IMPRODUCTなど)

 Excel では複素数同士を計算させることもできます。
 ただし複素数は文字列として扱われるので、通常の演算子を用いて計算させることはできません。たとえば COMPLEX(1,1) は 1 + i に相当する複素数ですが、

=2*COMPLEX(1,1)

と入力してもエラーが返されます。このような計算を実行したいときは、複素数の積を返す IMPRODUCT関数を用いて

=IMPRODUCT(2,"1+i")

と入力します。つまり複素数同士の加減乗除は、演算子ではなく、すべて関数によって記述される必要があります。
 

COMPLEX関数 数値の組を複素数に変換します

 COMPLEX関数は2つの数値を虚数単位で結びつけて複素数に変換します。
 COMPLEX関数は

=COMPLEX(実数部,虚数部,[単位])

という形で入力します。たとえば

=COMPLEX(1,3)

と記述すると「 1+3i 」という文字列に変換されます。[単位] は「 i 」または「 j 」のどちらかを指定しますが、省略すると「 i 」を指定したことになります。
 

IMREAL関数 複素数から実数部を取り出します

 IMREAL関数は複素数から実数部 (real part) を抜き出します。IMREAL関数は

=IMREAL(複素数)

の形で入力し、引数には「 "a+bi" 」もしくは「 "a+bj" 」で表された複素数を指定します。たとえば

=IMREAL("5+3i")

と入力すると、複素数 5 + 3i の実数部「 5 」が戻ってきます。あるいは COMPLEX 関数をネストして

=IMREAL(COMPLEX(5,3))

としても、やはり「 5 」を返します。
 

IMAGINARY関数 複素数から虚数部を取り出します

 IMAGINARY関数は複素数から虚数部 (imaginary part) を抜き出します。
 IMAGINARY関数は

=IMREAL(複素数)

の形で入力し、引数には「 "a+bi" 」あるいは「 "a+bj" 」で表された複素数を指定します。たとえば

=IMAGINARY("7+9i")

と入力すると、複素数 7 + 9i の虚数部「 9 」が戻ってきます。あるいは COMPLEX 関数を入れ子にして

=IMREAL(COMPLEX(7,9))

としても、やはり虚数部「 9 」を返します。
 

IMCONJUGATE関数 共役複素数を求めます

 複素数 a + bi に対して a - bi を共役複素数とよびます。IMCONJUGATE関数は

=IMCONJUGATE(複素数)

と入力して引数の共役複素数を返します。たとえば

=IMCONJUGATE("1+2i")

と入力すると 1+2i の共役複素数「 1-2i 」を返します。
 

IMABS関数 複素数の絶対値を計算します

 複素数 a + bi を複素数平面上の点 (a, b) 上の点に対応させたとき、原点から (a, b) までの距離が複素数の絶対値と定義されています (a2 + b2 の平方根)。IMABS関数は

=IMABS(複素数)

と入力し、引数の絶対値を返します。たとえば

=IMABS("1+i")

と入力すると、√2 の近似値「 1.414214 」が返されます。
 

IMARGUMENT関数 複素数の偏角を求めます

 複素数 a + bi を複素数平面上の点 (a, b) 上の点に対応させたとき、原点と (a, b) を結ぶ線分が実軸となす角度 θ が偏角と定義されています。IMARGUMENT関数は

=IMARGUMENT(複素数)

という形式で入力し、複素数の偏角 θ をラジアン単位で得ます。たとえば

=IMARGUMENT("1+1i")

と入力すると π/4 の近似値「 0.785 」が返ります。DEGREES 関数を用いて

=DEGREES(IMARGUMENT("1+1i"))

と入力すれば度数法単位で「 45 」を得ることができます。
 

IMSUM関数 複素数の和を計算します

 複素数 a + bi と c + di の加算は (a + c) + (b + d)i によって定義されています。
 IMSUM関数は

=IMSUM(複素数1[,複素数2, ...])

と入力し、引数に指定した全ての複素数の総和を計算します。たとえば

=IMSUM("2+i","1+3i")

と入力すると「 3+4i 」が返ります。あるいは

=IMSUM(COMPLEX(2,1),COMPLEX(1,3))

と入力しても同じ結果を得ることができます。
 

IMSUB関数 複素数の差を計算します

 複素数 a + bi と c + di の減算は (a - c) + (b - d)i によって定義されます。
 IMSUB関数は

=IMSUB("複素数1","複素数2")

の形で入力し、複素数 1 から複素数 2 を引いた複素数を返します。たとえば

=IMSUB("8+7i","2+3i")

と入力すると「 6+4i 」が返ります。あるいは

=IMSUB(COMPLEX(8,7),COMPLEX(2,3))

と入力しても同じ結果になります。
 

IMPRODUCT関数 複素数の積を計算します

 複素数 a + bi と c + di の積は

(ac - bd) + (ad + bc)i

と定義されています。IMPRODUCT関数は

=IMPRODUCT(複素数1[,複素数2, ...])

と入力し、指定した引数を全て乗算を返します。たとえば

=IMPRODUCT("5+2i","1+3i")

とすると、5 + 2i と 1 + 3i の積「 -1 + 17i 」を返します。
 

IMDIV関数 複素数の商を計算します

 複素数の除算は

(a + bi)/(c + di)=[(ac + bc) + (bc-ad)i]/(c2 + d2)

によって定義されます。IMDIV関数は

=IMDIV("複素数1","複素数2")

の形で入力し、複素数 1 を複素数 2 で割った値を返します。たとえば

=IMDIV("5+2i","1+i")

と入力すると複素数 5 + 2i を複素数 1 + i で割った「 3.5-1.5i 」を返します。
 

IMPOWER関数 複素数のべき乗を求めます

 IMPOWER関数は

=IMPOWER(複素数,数値)

の形式で記述し、1 つめの引数を底、2 つめの引数を指数とするべき乗を返します。たとえば

=IMPOWER("1+i",5)

と入力すると (1 + i)5 を計算して「 -4-4i 」という文字列を得ることができます。
 

IMSQRT関数 複素数の平方根を求めます

 IMSQRT関数は

=IMSQRT(複素数)

と入力して引数の平方根、すなわち引数を 0.5 乗した複素数を返します。たとえば

=IMSQRT("3+4i")

と入力すると (3+4i)0.5 を計算して「 2+i 」を得ます。 ≫ エクセル数学講座

スポンサーリンク
末尾広告
末尾広告

コメントをどうぞ

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