📄 heat1d.m
字号:
function [x,t,u,Frames] = heat1d% Heat diffusion in a wire% Setup parimeterL = 1.0;T = 150;K = 0.001;n = 150;dt = T/n;l =20;dx = L/l;u = zeros(l+1,n+1);% Create mesht = (0:n)*dt;x = (0:l)*dx;% Set i.c. and b.c.su(:,1) = u0(x)';u(1,:) = bcLeft;u(l+1,:) = bcRight;alpha = K*dt/dx^2;for k=1:n for i=2:l u(i,k+1) = alpha*u(i-1,k) + (1 - 2*alpha)*u(i,k) + alpha*u(i+1,k)+ dt*f; endendfor k=1:n+1 plot(x,u(:,k)); axis([0 1 0 10]); Frames(k) = getframe;end% Some functionsfunction f = f%f = 0.1;f = 0.0;function u0 = u0(x)%u0 = 0.0;for i = 1:length(x) if x(i) < 0.5 u0(i) = 5.0; else u0(i) = 0.0; endendfunction bcLeft = bcLeftbcLeft = 0.0;function bcRight = bcRightbcRight = 0.0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -