一维导热方程 有限差分法 matlab实现.doc_第1页
一维导热方程 有限差分法 matlab实现.doc_第2页
一维导热方程 有限差分法 matlab实现.doc_第3页
一维导热方程 有限差分法 matlab实现.doc_第4页
一维导热方程 有限差分法 matlab实现.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五次作业(前三题写在作业纸上)一、用有限差分方法求解一维非定常热传导方程,初始条件和边界条件见说明.pdf文件,热扩散系数=const,1. 用Tylaor展开法推导出FTCS格式的差分方程2. 讨论该方程的相容性和稳定性,并说明稳定性要求对求解差分方程的影响。3. 说明该方程的类型和定解条件,如何在程序中实现这些定解条件。4. 编写M文件求解上述方程,并用适当的文字对程序做出说明。(部分由网络搜索得到,添加,修改后得到。)function rechuandaopde%以下所用数据,除了t的范围我根据题目要求取到了20000,其余均从pdf中得来a=0.00001;%a的取值xspan=0 1;%x的取值范围tspan=0 20000;%t的取值范围ngrid=100 10;%分割的份数,前面的是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);%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/(dx2)*(sin(pi/2)2;if sta0,sta2 fprintf(n%sn,有稳定性)else fprintf(n%sn,没有稳定性) 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)for j=1:jmax rms=(T(j)-Te(j)2/jmax)(1/2)endfunctionUe,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);%画网格for j=2:n for i=2:m-1 for g=1:m-1Ue(j,i)=100-(400/(2*g-1)/pi)*sin(2*g-1)*pi*xe(j)*exp(-a*(2*g-1)2*pi2*te(i) end endendfunction 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);%边界条件U(:,m)=g2(t);U(1,:)=f(x);%初值条件 %差分计算 for j=2:n for i=2:m-1 U(j,i)=(1-2*a*k/h2)*U(j-1,i)+a*k/h2*U(j-1,i-1)+a*k/h2*U(j-1,i+1); endend5. 将温度随时间变化情况用曲线表示6. 给出3000、9000、15000三个时刻的温度分布情况,对温度随时间变化规律做说明。T3000=100.0000 63.4362 34.2299 15.8021 7.4641 7.4641 15.8021 34.2299 63.4362 100.0000T9000=100.0000 81.6930 65.6076 53.6839 47.3466 47.3466 53.6839 65.6076 81.6930 100.0000T15000=100.0000 89.9415 81.0962 74.5310 71.0378 71.0378 74.5310 81.0962 89.9415 100.0000根据数据分析,在同一个x点上温度随时间的增加而增加,但增幅变小。x-T图形仍为抛物线,但随着时间的增加,极值变小,图像变得平缓。7. 用计算数据说明,并结合差分方程余项,空间、时间间隔对求解精度影响。数据量较大,且原理相同,我取一个向量演示一下。保持空间间隔不变,修改时间间隔,时间间隔加大,得到的误差加大。保持时间间隔不变,修改空间间隔,空间间隔加大,得到的误差加大。修改空间间隔的误差在增量比修改时间间隔的大。从方差余项上来看,(没有公式编辑器。只能从ppt里粘贴了)这个余项里的t,x都在分母上,所以与误差成正比,且x的次数应该是比t高,故影响较大。8. 用计算数据说明,稳定性要求对求解精度的影响。修改稳定性,即修改x和t分的份数(ngrid),之后看误差。稳定性越高,解的精度越高。即在满足稳定性要求(a*t/(x2)0.5)时,a*t/(x2)越接近0,误差越小。从概念上理解,稳定性越好,对引入时间层误差的抑制能力越强。所以误差越小。二、调用MATLAB函数完成上述计算1. 编写M文件求解上述方程,并用适当的文字对程序做出说明。function pdepediaoyongm=0;x=linspace(0,1,11);%x的网格t=linspace(0,20000,101);%t的网格sol = pdepe(m,pdefun,icfun,bcfun,x,t);%调用函数T=sol(:,:,1);%解figure;%画图surf(x,t,T)xlabel(x)ylabel(t)zlabel(T)dt=20000/100;%t步长h3000=3000/dt;h9000=9000/dt;h15000=15000/dt;%3000,9000,15000下,温度分别在T矩阵的哪些行T3000=T(h3000,:)T9000=T(h9000,:)T15000=T(h15000,:)%输出三个时间下的温度分布%不再对三个时间下的温度-长度曲线画图,其图像就是三维图的截面function c,f,s=pdefun(x,t,T,DuDx)%PDE方程函数c=100000;f=DuDx;s=0;function u0=icfun(x)%初始条件函数u0=0;function pl,ql,pr,qr=bcfun(xl,Tl,xr,Tr,t)%边界条件函数pl = Tl-100;ql = 0;pr = Tr-100;qr = 0;2. 将温度随时间变化情况用曲线表示。3. 给出3000、9000、15000三个时刻的温度分布情况。T3000 =100.0000 67.1058 39.8611 21.1973 10.9885 7.8279 10.9885 21.1973 39.8611 67.1058 100.0000T9000=100.0000 83.4839 68.6032 56.8191 49.2705 46.6732 49.2705 56.8191 68.6032 83.4839 100.0000T15000=100.0000 90.8310 82.5601 75.9972 71.7845 70.3330 71.7845 75.9972 82.5601 90.8310 100.0000根据数据分析,在同一个x点上温度随时间的增加而增加,但增幅变小。x-T图形仍为抛物线,但随着时间的增加,极值变小,图像变得平缓。4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论