⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 heat1d.m

📁 应用数值方法解算一维热传导问题
💻 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 + -