📄 heat2d.m
字号:
function [x,y,t,u,Frames] = heat2d% Heat diffusion in a slab% SetupL = 1.0;W = 1.0;T = 75;K = 0.001;n = 75;dt = T/n;l =10;dx = L/l;m = 10;dy = W/m;u = zeros(l+1,m+1,n+1);% Create mesht = (0:n)*dt;x = (0:l)*dx;y = (0:m)*dy;% Set i.c. and b.c.su(:,:,1) = u0(x,y)';u(1,:,:) = bcLeft;u(l+1,:,:) = bcRight;u(:,1,:) = bcBottom;u(:,m+1,:) = bcTop;alphax = K*dt/dx^2;alphay = K*dt/dy^2;for k=1:n for j=2:m for i=2:l u(i,j,k+1) = alphax*u(i-1,j,k) + (1 - 2*alphax -2*alphay)*u(i,j,k)... + alphax*u(i+1,j,k) + alphay*u(i,j-1,k) + alphay*u(i,j+1,k); end endend for k=1:n+1 surf(x,y,u(:,:,k));% mesh(x,y,u(:,:,k));% contour(x,y,u(:,:,k)); axis([0 1 0 1 0 100]);% view([0 90]); view([-35,70]); shading interp; Frames(k) = getframe; end% Some functionsfunction u0 = u0(x,y)u0 = 0.0;function bcLeft = bcLeftbcLeft = 100.0;function bcRight = bcRightbcRight = 0.0;function bcBottom = bcBottombcBottom = 100.0;function bcTop = bcTopbcTop = 0.0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -