gpt4 book ai didi

animation - Mathematica 二维热方程式动画

转载 作者:行者123 更新时间:2023-12-04 19:55:06 28 4
gpt4 key购买 nike

我正在绘制二维温度梯度图,但遇到了很多麻烦。我目前的方法是定义一个插值函数,然后尝试多次绘制它,然后为该图表表制作动画。这是我到目前为止所拥有的:

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 block 。

第二部分尝试为函数工作设置动画。

ListAnimate[
Table[
DensityPlot[T[x, y, t] /. FUNC, {x, 0, 9}, {y, 0, 9}, Mesh -> 9]
, {t, 0, 6}]
]

不幸的是,这行不通,我正在疯狂地试图找出原因。我首先认为它与插值函数有关,但现在我不太确定动画代码是否有效。有人有什么想法吗?

最佳答案

快速检查一下:

RT = 1
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}];
a = Table[
Plot3D[T[x, y, t] /. FUNC, {x, 0, 9}, {y, 0, 9}, Mesh -> 15,
PlotRange -> {{0, 9}, {0, 9}, {-1, 10}},
ColorFunction -> Function[{x, y, z}, Hue[.3 (1 - z)]]], {t, 0, 6}]
Export["c:\anim.gif", a]

alt text

PS:使用小写字母作为符号的第一个字符可以避免很多错误...

关于animation - Mathematica 二维热方程式动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4342585/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com