收藏 分销(赏)

MATLAB编辑一维热传导方程的模拟程序.doc

上传人:天**** 文档编号:4137759 上传时间:2024-07-31 格式:DOC 页数:3 大小:62.01KB 下载积分:5 金币
下载 相关 举报
MATLAB编辑一维热传导方程的模拟程序.doc_第1页
第1页 / 共3页
MATLAB编辑一维热传导方程的模拟程序.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
求解下列热传导问题: 程序: function heat_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=eval(h{5});%lambda的值必须小于0.5 %*************************************************** h=L/N;%空间步长 z=0:h:L; z=z'; tao=lambda*h^2/alfa;%时间步长 tm=M*tao;%热传导的总时间tm t=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的关系 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.^2; return function y=border_funo(t)%z=0的边界条件 y=1+t.*0; return function y=border_fune(t)%z=L的边界条件 y=t*.0; return 运行情况: 按“run”运行时,弹出窗口 将图中相关数据更改为: 点击图框中的“OK”,在“command window”中输出结果为:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服