たとえば、この Wolfram Alphaクエリは次のグラフを示しています:
ただし、 Mathematica でプロットするためのコードは表示されません。 Plot[x^x, {x, -1, 1}]
は、実際の値のみをプロットします。 Mathematica でこれを行うにはどうすればよいですか?
コメント
回答
Plot[{Re[x^x], Im[x^x]}, {x, -1, 2}]
回答
グラフがどのように始まるかを示すビュー複素数値を考慮に入れると、負の$ x $値のスパイラル。
ParametricPlot3D[{x, Re[Exp[x*Log[x]]], Im[Exp[x*Log[x]]]}, {x, -4, 2}, PlotRange -> All, ViewVertical -> {0, 1, 0}, BoxRatios -> {2, 1, 1}, ViewPoint -> {2, 2, 12}]
実際、$ x ^ x = e ^ {x \ log(x)} $と書くと、このn当然、$ x ^ x = e ^ {x \ log(x)+ 2i \ pi k} $に一般化されます。各$ 2i \ pi k $は、複素対数の別の分岐を表します。このコンテキストでは、このグラフがスパイラルのファミリーの1つのスパイラルを形成していることがわかります。
x2x[0.0, _] = x2x[0, _] = 1; x2x[x_, k_] := Exp[x (Log[x] + 2 I Pi k)]; Table[points3D[k] = Table[ z = x2x[x, k]; {x, Re[z], Im[z]}, {x, -4, 2, 0.005}], {k, -7, 7}]; Graphics3D[Table[{If[k == 0, Thick, Opacity[0.5]], Line[points3D[k]]}, {k, -4, 4}], Axes -> True, PlotRange -> {{-4, 2}, {-4, 4}, {-4, 4}}, BoxRatios -> {2, 1, 1}, ViewPoint -> {2, 2, 12}, ViewVertical -> {0, 1, 0}]
初等クラスでは、$(p / q)^ {p / q} $が$ p $の負、$ q $の奇数と正に対して定義されているという主張を目にするかもしれません。したがって、これらのポイントを含めると、グラフは次のようになります。
points = Union[Cases[Table[Chop[points3D[k], 1/10], {k, -7, 7}], {_?Negative, _, 0}, {2}]]; Plot[x^x, {x, 0, 2}, PlotStyle -> Directive[Thick, Black], Epilog -> Point[Most /@ points], PlotRange -> {{-2, 2}, {-2, 4}}]
複雑な観点から、ドットは、らせん状の糸の1つが$ x $-$ z $平面に穴を開けるスポットとして発生します。
コメント
- 私の質問に直接かつ簡潔に答えたので、答えとしてyulinlinyu 'を選択しましたが、Mark Mcclure '答えはさらに上を行きます-そしてこのスレッドの本当の宝石です!
答え
yulinyuが指摘したように次のようなもので、目的のプロットが得られます。
Plot[Through[{Re, Im}[x^x]], {x, -2, 2}, Evaluated -> True]
この優れた回答。彼の関数を使用して以下を評価すると、きれいな画像が得られます
domainPlot[#^# &]
コメント
- 一瞬、私は喫煙したと思いました….しかし違います
- 催眠術の力を訓練していますか?
回答
M12関数の新機能を使用できます <関数の複雑な視覚化のためのdivid = "d12b01a8d7">
および ComplexPlot
。 ReImPlot
の使用:
ReImPlot[z^z, {z, -2, 2}]
および ComplexPlot
:
ComplexPlot[z^z, {z, - 3 - 3 I, 3 + 3 I}]
Plot[{Re[x^x], Im[x^x]}, {x, -1, 2}, PlotRange -> All]