たとえば、この 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}] 

ここに画像の説明を入力

回答

また

ComplexPlot3D[z^z, {z, -3 - 3 I, 3 + 3 I}] 

ここに画像の説明を入力

バージョン12.0でジョブを実行します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です