目次へ
前回で説明した複素関数をプロットするパッケージ ComplexMap.m を使う例を示す。
- 関数の定義に Function を使用している。
- 変数を変化させてグラフを表示できるようにグラフィックを動的に表示する Manipulate 関数を使っている。
- ノートブック と パッケージ ComplexMap.m が同じディレクトリにあるものとする。
複素関数 のプロット
CartesianMap
SetDirectory[NotebookDirectory[]];
<< ComplexMap.m
mapfRow[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, z^2],
{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 = \!\(\*SuperscriptBox[\(z\), \(2\)]\)", 18, Italic],
ImageSize -> 400]
Manipulate[mapfRow[x + I y, a],
{{x, -1}, -4, 4, Appearance -> "Labeled"}, {{y, -1}, -4, 4,
Appearance -> "Labeled"}, {{a, 1}, 0.1, 2, Appearance -> "Labeled"}]
次をクリックすると座標を変化させることできます。CartesianMap : w = z^2
PolarMap
mapfPolarRow[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, (z + w)^2], {0, a}, {0, 2 Pi},
PlotRange -> 5, Frame -> True,
FrameLabel -> Evaluate[Style[#, 13] & /@ {"u", "v"}]]},
PlotLabel ->
Style["w = \!\(\*SuperscriptBox[\(z\), \(2\)]\)", 18, Italic],
ImageSize -> 400]
Manipulate[
mapfPolarRow[x + I y, a], {{x, -1}, -4, 4,
Appearance -> "Labeled"}, {{y, -1}, -4, 4,
Appearance -> "Labeled"}, {{a, 1}, 0.1, 2, Appearance -> "Labeled"}]
次をクリックすると座標を変化させることできます。PolarMap : w = z^2
まとめ
- 複素関数の本に載っている図を参考にしてグラフを作ってみた。
- このノートブックをMathematica で実行し、スライダーを動かすことにより変数を変化させることができる。
- 変数を変化させた場合グラフはどのように変化するか、様子をみることができる。
目次へ
大分時間がたちましたが。id:abagbbg5 さんのコメントに対して回答します。