Язык Wolfram Language

Дифференциальные уравнения в частных производных

Решите начальную задачу для уравнения тепла

Задать уравнение тепла.

In[1]:=
Click for copyable input
heqn = D[u[x, t], t] == D[u[x, t], {x, 2}];

Задать начальные условия для уравнения.

In[2]:=
Click for copyable input
ic = u[x, 0] == E^(-x^2);

Решить начальную задачу.

In[3]:=
Click for copyable input
sol = DSolveValue[{heqn, ic }, u[x, t], {x, t}]
Out[3]=

Визуализировать диффузию тепла с течением времени.

In[4]:=
Click for copyable input
Plot[Evaluate[Table[sol, {t, 0, 4}]], {x, -5, 5}, PlotRange -> All, Filling -> Axis]
Out[4]=

Начальная задача для уравнения тепла с фрагментированными начальными данными.

In[5]:=
Click for copyable input
ic = u[x, 0] == UnitBox[x];
In[6]:=
Click for copyable input
sol = DSolveValue[{heqn, ic }, u[x, t], {x, t}]
Out[6]=

Разрывы в начальных данных разглаживаются моментально.

In[7]:=
Click for copyable input
Plot3D[sol, {x, -2, 2}, {t, 0, 1}, PlotRange -> All, PlotPoints -> 250, Mesh -> None]
Out[7]=

Родственные примеры

de en es fr ja ko pt-br zh