0

Mathematica で 2 つのグラフの交点の濃度 (密度) をモデル化しようとしていeggs[x,y,z,t]ますsperm[x,y,z,t](sperm[x,y,z,t] == eggs[x,y,z,t])この問題は、グラフの境界を記述する方程式を指定子DensityPlot3Dまたは指定子に実装しようとすると発生しRegionFunction -> Function[{x,y,z,t},func]ます。方法論は で機能しますが、ソリューションをアニメーション化し、グラフのを濃度変数 (精子と卵子の方程式の 4D 出力)にしようとしているため、このタスクContourPlot3DDensityPlot3Dははるかに適しています。

ContourPlot3Dプロセスのコードは次のとおりです。

In[1]:= sperm[x_,y_,z_,t_]= 1/Sqrt[4*Pi*t]*E^((-x^2-y^2-z^2)/(4*t));
eggs[x_,y_,z_,t_]=1/Sqrt[4*Pi*t]*E^((-(x+3)^2-(y+3)^2-(z+3)^2)/(4*t));
Animate[ContourPlot3D[sperm[x, y, z, t] == eggs[x, y, z, t], {x, -10, 10}, {y, -10, 10}, {z, -10, 10}], {t, 0, 10}]

通常、出力はシステムをクラッシュさせるため、ここにアップロードすることはできません。

このメソッドを に適用する私の試みは次のDensityPlot3Dとおりです。

In[2]:= Animate[DensityPlot3D[sperm[x, y, z, t] == eggs[x, y, z, t], {x, -10, 10}, {y, -10, 10}, {z, -10, 10}], {t, 0, 10}]

出力は空白の 3D プロットのみです。

調べてみると、RegionFunction(and RegionPlot3D) は不等式のみを使用しているように見え、 の最初の引数はDensityPlot3D方程式の形式ではない関数を使用していることがわかりました。私は次のようなことをしてこれをバイパスしようとしました

f = Solve[sperm[x, y, z, t] == eggs[x, y, z, t], {x, y, z, t}, Reals]

その変数を最初の引数として入力しますが、結果はまだ方程式(複雑なもの)と見なされていたため、これは役に立ちませんでした。

だから、私の質問は次のとおりです。方程式を の境界として実装するにはどうすればよいDensityPlot3Dですか?

編集: のアニメーションを実現できたので、最初の引数は実際に方程式を取り込むことができることがわかりましたs[x, y, t] == e[x, y, t]

コードは次のとおりです。

In[1]:= s[x_, y_, t_] = 1/Sqrt[4*Pi*t]*E^((-(x + 0)^2 - (y + 0)^2)/(4*t));
e[x_, y_, t_] = 1/Sqrt[4*Pi*t]*E^((-(x + 3)^2 - (y + 3)^2)/(4*t)); 
Animate[DensityPlot[s[x, y, t] == e[x, y, t], {x, -10, 10}, {y, -10, 10}, ColorFunction -> "TemperatureMap"], {t, 0, 10}]

ここにアニメーションを保存する方法がわかりません。画像はここにアップロードされていません。

それにもかかわらず、問題は単純に次のとおりです: "4D" の場合に空白のグラフがあるのはなぜですか?DensityPlot3D

4

0 に答える 0