两边分别给一定的热源用有限差分模拟的结果:
clc; clear;
nt = 2001;
dt = 2e-2;
t = (0: nt-1) * dt;
nx = 101;
dx = 2e-2;
x = (0: nx-1) * dx;
k = 1e-2;
d = zeros(nt, nx);
d(:, 1) = 20;
d(:, end) = 30;
for i = 1: nt-1
for j = 2: nx-1
d(i+1, j) = d(i, j) + dt*k*(d(i, j+1)-2*d(i, j)+d(i, j-1))/dx^2;
end
end
figure('position', [100, 200, 800, 600]);
colormap(jet);
[~, c] = contourf(x, t, d, 21);
xlabel('Space (m)'); ylabel('Time (s)');