Resolva um problema de valor inicial para uma equação de calor
Especifique a equação de calor.
In[1]:=
![Click for copyable input](assets.pt-br/solve-an-initial-value-problem-for-the-heat-equati/In_11.png)
heqn = D[u[x, t], t] == D[u[x, t], {x, 2}];
Estabeleça uma condição inicial para a equação.
In[2]:=
![Click for copyable input](assets.pt-br/solve-an-initial-value-problem-for-the-heat-equati/In_12.png)
ic = u[x, 0] == E^(-x^2);
Resolva o problema de valor inicial.
In[3]:=
![Click for copyable input](assets.pt-br/solve-an-initial-value-problem-for-the-heat-equati/In_13.png)
sol = DSolveValue[{heqn, ic }, u[x, t], {x, t}]
Out[3]=
![](assets.pt-br/solve-an-initial-value-problem-for-the-heat-equati/O_7.png)
Visualize a difusão de calor com o passar do tempo.
In[4]:=
![Click for copyable input](assets.pt-br/solve-an-initial-value-problem-for-the-heat-equati/In_14.png)
Plot[Evaluate[Table[sol, {t, 0, 4}]], {x, -5, 5}, PlotRange -> All,
Filling -> Axis]
Out[4]=
![](assets.pt-br/solve-an-initial-value-problem-for-the-heat-equati/O_8.png)
Problema de valor inicial para a equação de calor com dados iniciais definidos por partes.
In[5]:=
![Click for copyable input](assets.pt-br/solve-an-initial-value-problem-for-the-heat-equati/In_15.png)
ic = u[x, 0] == UnitBox[x];
In[6]:=
![Click for copyable input](assets.pt-br/solve-an-initial-value-problem-for-the-heat-equati/In_16.png)
sol = DSolveValue[{heqn, ic }, u[x, t], {x, t}]
Out[6]=
![](assets.pt-br/solve-an-initial-value-problem-for-the-heat-equati/O_9.png)
Descontinuidades nos dados iniciais são suavizadas instantaneamente.
In[7]:=
![Click for copyable input](assets.pt-br/solve-an-initial-value-problem-for-the-heat-equati/In_17.png)
Plot3D[sol, {x, -2, 2}, {t, 0, 1}, PlotRange -> All,
PlotPoints -> 250, Mesh -> None]
Out[7]=
![](assets.pt-br/solve-an-initial-value-problem-for-the-heat-equati/O_10.png)