Mathematica 9 の探索: ComplexMap : w = sin(z)

目次へ

前回で説明した複素関数をプロットするパッケージ ComplexMap.m を使う例を示す。

  • 関数の定義に Function を使用している。
  • 変数を変化させてグラフを表示できるようにグラフィックを動的に表示する Manipulate 関数を使っている。
  • ノートブック と パッケージ ComplexMap.m が同じディレクトリにあるものとする。

複素関数 {w = \sin z} のプロット

CartesianMap

mapfRow3[w_, r_] := 
 GraphicsRow[{CartesianMap[ Identity, 
{Re[w] - r, Re[w] + r}, {Im[w] - r, Im[w] + r}, PlotRange -> 5, Frame -> True, FrameLabel -> Evaluate[Style[#, 13] & /@ {"x", "y"}]], CartesianMap[ Function[z, Sin[z]], {Re[w] - r, Re[w] + r}, {Im[w] - r, Im[w] + r}, PlotRange -> 5, FrameLabel -> Evaluate[Style[#, 13] & /@ {"u", "v"}], Frame -> True]}, PlotLabel -> Style["w = sin z", 18, Italic], ImageSize -> 400] Manipulate[mapfRow3[x + I y, a], {{x, 0}, -Pi, Pi, Appearance -> "Labeled"}, {{y, 0}, -Pi, Pi, Appearance -> "Labeled"}, {{a, 1.5}, 0.1, 2, Appearance -> "Labeled"}]

次をクリックすると座標を変化させることできます。 CartesianMap : w = sin(z)

PolarMap

mapfPolarRow3[w_, a_] := 
 GraphicsRow[{PolarMap[ Function[z, z + w], {0, a}, {0, 2 Pi} , 
    PlotRange -> 5, Frame -> True, 
    FrameLabel -> Evaluate[Style[#, 13] & /@ {"x", "y"}]],
   PolarMap[ Function[z, Sin[z + w]], {0, a}, {0, 2 Pi}, 
    PlotRange -> 5, Mesh -> False, Frame -> True, 
    FrameLabel -> Evaluate[Style[#, 13] & /@ {"u", "v"}]]},
  PlotLabel -> Style["w = sin z", 18, Italic],
  ImageSize -> 400]
Manipulate[
 mapfPolarRow3[x + I y, a], {{x, 0}, -Pi, Pi, 
  Appearance -> "Labeled"}, {{y, 0}, -Pi, Pi, 
  Appearance -> "Labeled"}, {{a, 1.5}, 0.1, 2, 
  Appearance -> "Labeled"}]

スライダーを動かすには次をクリックする。 PolarMap : w = sin(z)

まとめ

  • 複素関数の本に載っている図を参考にしてグラフを作ってみた。
  • このノートブックをMathematica で実行し、スライダーを動かすことにより変数を変化させることができる。
  • 変数を変化させた場合グラフはどのように変化するか、様子をみることができる。

目次へ