- 9
- 0
- 约1.14千字
- 约 6页
- 2020-10-03 发布于天津
- 举报
MATLAB 编辑 一维 热传导方程的模拟程序
求解下列热传导问题:
2T
z2
T 0,t
1,
T L,t
L 1,
程序:
fun ctio n heat_c on ductio n() % 一维齐次热传导方程
稳定条options={空间杆长L,空间点数N,时间点数M,扩散系数alfa, 件的值lambda(取值必须小于0.5),};
稳定条
topic=set in g;
lin es=1;
def={1,100,1000,1,0.5};
h=in putdlg(opti on s,topic, lin es,def);
L=eval(h{1});
N=eval(h{2});
M=eval(h{3});
alfa=eval(h{4});
lambda=eval(h{5});%lambda 的值必须小于 0.5
o%***************************************************
h=L/N;%空间步长
z=0:h:L;
z=z;
tao=lambda*hA2/alfa;% 时间步长
tm=M*tao;%热传导的总时间tm
t=0:tao:tm;
t=t;
%计算初值和边值
T=zeros(N+1,M+1);
Ti=i nit_fu n(z);
To=border_fu no (t);
Te=border_fu ne(t);
T(:,1)=Ti;
T(1,:)=To;
T(N+1,:)=Te;
%用差分法求出温度T与杆长L、时间t的关系
for k=1:M
m=2;
while m=N
T(m,k+1)=lambda*(T(m+1,k)+T(m-1,k))+(-2*lambda+1)*T(m,k); m=m+1;
end;
end;
%设置立体网格
for i=1:M+1
X(:,i)=z;
end;
for j=1:N+1
Y(j,:)=t;
end
mesh(X,Y,T);
view([1 -1 1]);
xlabel(Z);
ylabel(t);
zlabel(T);
function y=init_fun(z)% 初值条件
y=1-z.A2;
的边界条件return function y=border_funo(t)%z=0 y=1+t.*0;
的边界条件
return function y=border_fune(t)%z=L 的边界条件 y=t*.0;
return
运行情况:
按“un”运行时,弹出窗口
将图中相关数据更改为:
M seting
点击图框中的“OK”,在cOmmand window”中输出结果为:
1 0
您可能关注的文档
最近下载
- (T8联考)2025届高三部分重点中学12月第一次联考 英语试卷(含答案解析).docx
- 增材制造医疗器械.docx VIP
- 八年级下册语文第二单元知识总结.docx VIP
- 2024年安徽省公务员行测及答案详解【最新】.docx VIP
- 《林海雪原》章节精读读书笔记.pdf VIP
- 2024级“工商管理学”学术学位硕士研究生培养方案(120200).pdf VIP
- (2025春新版本)一年级下册道德与法治全册教案.pdf
- XX人民医院采购功能性电刺激(低频电子脉冲刺激仪)技术参数(2026年).docx VIP
- T/CARM 002-2023 康复医院建设标准.pdf VIP
- 《Java语言程序设计案例教程》课件第4章.ppt VIP
原创力文档

文档评论(0)