2010年1月16日土曜日

IMAGINARY 関数

ども。たです。

昨日、俺 Simulator 作成の複素計算中に
毎度毎度絶対値換算するのが面倒で、
ついに EXCEL で複素計算をさせる方法を
勉強する。

結論からいくと多少メンドイが、自分で計算
するより幾分マシって感じ。
まずなにより EXCEL に解析関数なるものを
インストールする必要がある。
確か、ツール -> アドインから、、、だったかな ^^;

ちなみに、複素数自体は例えば 2 + 3i のような
ものを表現したい場合、

= complex(2, 3)

で実現可能。
#complex(実部, 虚部) ねw

で、これを用いて計算を行う場合、

足し算:= IMSUM(複素数, 複素数, ・・・)
引き算:= IMSUB(複素数, 複素数, ・・・)
掛け算:= IMPRODUCT(複素数, 複素数, ・・・)
割り算:= IMDIV(複素数, 複素数, ・・・)

と、用意された関数を利用するしかない。

また、複素数の絶対値は、

= IMABS(複素数)

で与えられる。

例えば、A1 のマスに 2 + 3i という複素数が
入っていたとして、それと 5 + 5i という複素数を
足し算したい場合は、

= IMSUM(A1, COMPLEX(5, 5))

と入力すれば良いことになる。
これだけで、その関数を入力したマスには、

7 + 8i

という複素数が返される。

複素計算は通常の計算と違い四則演算を
+、-、*、/ で表現しないので、直感的に
自分の打ち込んだ数式を理解することが難しいので、
なるべく小さな単位で複素計算を行い
最終的な計算結果を得るようにしたほうがいくぶん賢い。

例えば、
  (2 + 3i) * (5 + 5i)
= --------------------------
  (2 + 3i) + (5 + 5i)

という計算を行いたい場合、
A1 と A2 のセルにそれぞれ

A1 : complex(2, 3) // 複素数 2 + 3i
A2 : comprex(5, 5) // 複素数 5 + 5i

と予め入力しておき、その後 A3 ~ A5 で、

A3 : improduct(A1, A2) // 掛け算
A4 : imsum(A1, A2) // 足し算

A5 : imdiv(A3, A4) // 割り算

と計算した方が間違いが少ない。
というのも、まるまるひとつのセルでこの計算式を
行おうとすると、

= imdiv(improduct(complex(2, 3), complex(5, 5)),
     imsum(complex(2, 3), complex(5, 5)))

と入力する必要があり、もうどのカッコがどのカッコ
に対応しているか分かんなくなるためですw

つーことで、またひとつ EXCEL マスターへの
階段を登ったって話でしたw

そんなこんなで。
では。

0 件のコメント: