一维导热方程 有限差分法 matlab实现.doc

一维导热方程 有限差分法 matlab实现.doc

ID:49652165

大小:266.09 KB

页数:7页

时间:2020-03-03

一维导热方程 有限差分法 matlab实现.doc_第1页
一维导热方程 有限差分法 matlab实现.doc_第2页
一维导热方程 有限差分法 matlab实现.doc_第3页
一维导热方程 有限差分法 matlab实现.doc_第4页
一维导热方程 有限差分法 matlab实现.doc_第5页
资源描述:

《一维导热方程 有限差分法 matlab实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第五次作业(前三题写在作业纸上)一、用有限差分方法求解一维非定常热传导方程,初始条件和边界条件见说明.pdf文件,热扩散系数α=const,1.用Tylaor展开法推导出FTCS格式的差分方程2.讨论该方程的相容性和稳定性,并说明稳定性要求对求解差分方程的影响。3.说明该方程的类型和定解条件,如何在程序中实现这些定解条件。4.编写M文件求解上述方程,并用适当的文字对程序做出说明。(部分由网络搜索得到,添加,修改后得到。)functionrechuandaopde%以下所用数据,除了t的范围我根据题目要求取到了20000,其余均从pdf中得来a=0.00001;%a的取值xs

2、pan=[01];%x的取值范围tspan=[020000];%t的取值范围ngrid=[10010];%分割的份数,前面的是t轴的,后面的是x轴的f=@(x)0;%初值g1=@(t)100;%边界条件一g2=@(t)100;%边界条件二[T,x,t]=pdesolution(a,f,g1,g2,xspan,tspan,ngrid);%计算所调用的函数[x,t]=meshgrid(x,t);mesh(x,t,T);%画图,并且把坐标轴名称改为x,t,Txlabel('x')ylabel('t')zlabel('T')T%输出温度矩阵dt=tspan(2)/ngrid(1);

3、%t步长h3000=3000/dt;h9000=9000/dt;h15000=15000/dt;%3000,9000,15000下,温度分别在T矩阵的哪些行T3000=T(h3000,:)T9000=T(h9000,:)T15000=T(h15000,:)%输出三个时间下的温度分布%不再对三个时间下的温度-长度曲线画图,其图像就是三维图的截面%稳定性讨论,傅里叶级数法dx=xspan(2)/ngrid(2);%x步长sta=4*a*dt/(dx^2)*(sin(pi/2))^2;ifsta>0,sta<2fprintf('%s','有稳定性')elsefprintf

4、('%s','没有稳定性')errorend%真实值计算[xe,te,Te]=truesolution(a,f,g1,g2,xspan,tspan,ngrid);[xe,te]=meshgrid(xe,te);mesh(xe,te,Te);%画图,并且把坐标轴名称改为xe,te,Texlabel('xe')ylabel('te')zlabel('Te')Te%输出温度矩阵%误差计算jmax=1/dx+1;%网格点数[rms]=wuchajisuan(T,Te,jmax)rms%输出误差function[rms]=wuchajisuan(T,Te,jmax)forj=

5、1:jmaxrms=((T(j)-Te(j))^2/jmax)^(1/2)endfunction[Ue,xe,te]=truesolution(a,f,g1,g2,xspan,tspan,ngrid)n=ngrid(1);%t份数m=ngrid(2);%x份数Ue=zeros(ngrid);xe=linspace(xspan(1),xspan(2),m);%画网格te=linspace(tspan(1),tspan(2),n);%画网格forj=2:nfori=2:m-1forg=1:m-1Ue(j,i)=100-(400/(2*g-1)/pi)*sin((2*g-1)*p

6、i*xe(j))*exp(-a*(2*g-1)^2*pi^2*te(i))endendendfunction[U,x,t]=pdesolution(a,f,g1,g2,xspan,tspan,ngrid)n=ngrid(1);%t份数m=ngrid(2);%x份数h=range(xspan)/(m-1);%x网格长度x=linspace(xspan(1),xspan(2),m);%画网格k=range(tspan)/(n-1);%t网格长度t=linspace(tspan(1),tspan(2),n);%画网格U=zeros(ngrid);U(:,1)=g1(t);%边界条

7、件U(:,m)=g2(t);U(1,:)=f(x);%初值条件%差分计算forj=2:nfori=2:m-1U(j,i)=(1-2*a*k/h^2)*U(j-1,i)+a*k/h^2*U(j-1,i-1)+a*k/h^2*U(j-1,i+1);endend1.将温度随时间变化情况用曲线表示2.给出3000、9000、15000三个时刻的温度分布情况,对温度随时间变化规律做说明。T3000=100.000063.436234.229915.80217.46417.464115.802134.229963.436210

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。