Wolfram言語

偏微分方程式

ラプラス方程式のディリクレ問題を解く

二次元のラプラス(Laplace)方程式を指定する.

In[1]:=
Click for copyable input
leqn = Laplacian[u[x, y], {x, y}] == 0;

長方形内の方程式についてディリクレ(Dirichlet)条件を与える.

In[2]:=
Click for copyable input
\[CapitalOmega] = Rectangle[{0, 0}, {1, 2}];
In[3]:=
Click for copyable input
dcond = DirichletCondition[ u[x, y] == Piecewise[{{UnitTriangle[2 x - 1], y == 0 || y == 2}}, 0], True];

ディリクレ問題を解く.

In[4]:=
Click for copyable input
sol = DSolveValue[{leqn, dcond}, u[x, y], {x, y} \[Element] \[CapitalOmega]] // FullSimplify
Out[4]=

Inactiveの和から最初の300項を取り出す.

In[5]:=
Click for copyable input
asol = sol /. {\[Infinity] -> 300} // Activate;

長方形上の解を可視化する.

In[6]:=
Click for copyable input
Plot3D[asol // Evaluate, {x, y} \[Element] \[CapitalOmega], PlotRange -> All, PlotTheme -> "Business"]
Out[6]=

関連する例

de en es fr ko pt-br ru zh