欢迎来到天天文库
浏览记录
ID:10514264
大小:66.00 KB
页数:3页
时间:2018-07-07
《matlab编辑一维热传导方程的模拟程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、有限差分法求出温度T与杆长L、时间t的关系求解下列热传导问题:程序:functionheat_conduction()%一维齐次热传导方程options={'空间杆长L','空间点数N','时间点数M','扩散系数alfa','稳定条件的值lambda(取值必须小于0.5)',};topic='seting';lines=1;def={'1','100','1000','1','0.5'};h=inputdlg(options,topic,lines,def);L=eval(h{1});N=eval(h{2});M=eval(h{3});alfa=eval(h{4});lambda=eva
2、l(h{5});%lambda的值必须小于0.5%***************************************************h=L/N;%空间步长z=0:h:L;z=z';tao=lambda*h^2/alfa;%时间步长tm=M*tao;%热传导的总时间tmt=0:tao:tm;t=t';%计算初值和边值T=zeros(N+1,M+1);Ti=init_fun(z);To=border_funo(t);Te=border_fune(t);T(:,1)=Ti;T(1,:)=To;T(N+1,:)=Te;%用有限差分法求出温度T与杆长L、时间t的关系fork=1:
3、Mm=2;whilem<=NT(m,k+1)=lambda*(T(m+1,k)+T(m-1,k))+(-2*lambda+1)*T(m,k);m=m+1;end;end;%设置立体网格fori=1:M+1X(:,i)=z;end;forj=1:N+1Y(j,:)=t;endmesh(X,Y,T);view([1-11]);xlabel('Z');ylabel('t');zlabel('T');functiony=init_fun(z)%初值条件y=1-z.^2;returnfunctiony=border_funo(t)%z=0的边界条件y=1+t.*0;returnfunctiony=b
4、order_fune(t)%z=L的边界条件y=t*.0;return运行情况:按“run”运行时,弹出窗口将图中相关数据更改为:点击图框中的“OK”,在“commandwindow”中输出结果为:
此文档下载收益归作者所有