matlab求解热传导实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
matlab求解热传导问题的几个例子1.金属板导热问题
解:
[p,e,t]=initmesh('crackg');
u=parabolic(0,0:0.5:5,'crackb',p,e,t,1,0,0,1);
pdeplot(p,e,t,'xydata',u(:,11),'mesh','off','colormap','hot');
2.Matlab自带例子:
[p,e,t]=initmesh('squareg');
[p,e,t]=refinemesh('squareg',p,e,t);
u0=zeros(size(p,2),1);
ix=find(sqrt(p(1,:).^2+p(2,:).^2)<0.4);
u0(ix)=ones(size(ix));
tlist=linspace(0,0.1,20);
u1=parabolic(u0,tlist,'squareb1',p,e,t,1,0,1,1);
pdeplot(p,e,t,'xydata',u1(:,20),'mesh','off','colormap','hot');
3.热传导问题的动画程序:
若需要求解偏微分方程组,可用pdepe函数。
4.非均质板壁的一维不稳定导热过程:
可用parabolic 函数求解,该函数的说明如下:
类比可得系数c=1,a=0,f=0,d=1.计算参考程序如下:
[p,e,t]=initmesh('squareg');
[p,e,t]=refinemesh('squareg',p,e,t);
u0=zeros(size(p,2),1);
ix=find(sqrt(p(1,:).^2+p(2,:).^2)<0.8);
u0(ix)=ones(size(ix));
tlist=linspace(0,0.1,20);
u1=parabolic(u0,tlist,'squareb1',p,e,t,1,0,0,1);
pdeplot(p,e,t,'xydata',u1(:,8),'mesh','off','colormap','hot');
x=linspace(-1,1,31);y=x;
[unused,tn,a2,a3]=tri2grid(p,t,u0,x,y);
%制作动画
newplot;
umax=max(max(u1));
umin=min(min(u1));
for j=1:8
u=tri2grid(p,t,u1(:,j),tn,a2,a3);
i=find(isnan(u));
u(i)=zeros(size(i));
surf(x,y,u);caxis([umin umax]);colormap(hot)
axis([-1 1 -1 1 0 1]);
m(j)= getframe;
end
movie(m);
x
t x x a x t x a t ∂∂∂∂∂∂τ∂∂)()(22+=