【发布时间】:2018-04-25 21:54:20
【问题描述】:
我做了一个项目,我正在冷却一个金属球。现在我想在 Matlab 中模拟球体表面的温度。我有我想在 r=1 处绘制的傅立叶序列 u(r,t)。我如何绘制这个?到目前为止我有
R=1
t=0;
N=1000;
T0=-10;
T1=10;
a=1.3*(10^-7);
u=T0;
[x,y,z]= meshgrid(0:.1:R, 0:.1:R, 0:.1:R);
S= sqrt(x.^2+ y.^2 + z.^2);
r=1
for k= 1:1:N;
La_k= (k.*(pi)/R).^2;
r_k=(r.^(-1)).*sin(sqrt(La_k).*r);
u= u+ ((T1-T0)^2) * ((-1)^(k+1)) * (R/(k*(pi))) * exp(-a.*La_k.*t)
end
surf(x,y,u)
colorbar
colormap(jet)
【问题讨论】:
-
R和N的值是多少? -
R 是金属球的半径,所以在本例中 R=1。
-
N 是我从傅里叶级数中包含的术语。
-
您似乎想绘制
u(r=1, t),但您没有记录历史演变过程。还有,x,y,z在u中没有使用,是不是因为它只取决于半径大小? -
是的,我想绘制 u(r=1,t)。是的,温度仅取决于 r 和 t