我正在绘制二维的温度梯度图,遇到了很多麻烦。我目前的方法是定义一个插值函数,然后尝试多次绘制它,然后为该图表设置动画。这是我到目前为止所拥有的:
RT = 388.726919
R = 1
FUNC == NDSolve[{D[T[x, y, t], t] ==
RT*(D[T[x, y, t], x, x] + D[T[x, y, t], y, y]),
T[x, y, 0] == 0,
T[0, y, t] == R*t,
T[9, y, t] == R*t,
T[x, 0, t] == R*t,
T[x, 9, t] == R*t},
T, {x, 0, 9}, {y, 0, 9}, {t, 0, 6}]
所以前两个变量只是控制变化率。我正在求解的方程是基本的二维热方程,其中 dT/dt=a(d^2T/dx^2+d^2T/dy^2)。初始条件将所有内容设置为 0,然后将边缘定义为热变化的来源。现在它从 t=0 扫描到 t=6 的 9x9 块。
第二部分尝试为功能工作设置动画。
ListAnimate[
Table[
DensityPlot[T[x, y, t] /. FUNC, {x, 0, 9}, {y, 0, 9}, Mesh -> 9]
, {t, 0, 6}]
]
不幸的是,这不起作用,我疯了想找出原因。我最初认为它与插值函数有关,但现在我对动画代码的工作也不太有信心。有人有想法么?