网站大量收购闲置独家精品文档,联系QQ:2885784924

对流扩散方程.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
徐 州 工 程 学 院 课 程 设 计 报 告 课程名称 偏微分方程数值解 课题名称 对流扩散方程 的迎风格式的推导和求解 专 业 信息与计算科学 班 级 10信计3 姓名学号 指导教师 杨 扬 2013年 5 月 23 日 实验目的: 进一步巩固理论学习的结果,学习双曲型对流扩散方程的迎风格式的构造方法,以及稳定的条件。从而进一步了解差分求解偏微分方程的一些基本概念,掌握数值求解偏微分方程的基本过程。在此基础上考虑如何使用Matlab的软件进行上机实现,并针对具体的题目给出相应的数值计算结果。 二、实验题目: 其中a1=1,b1=2,。 用迎风格式求解双曲型对流扩散方程,观差分解对真解的敛散性( 三、实验原理: 1、用迎风格式求解双曲型对流扩散方程,迎风格式为: 若令 则迎风格式可整理为:2、稳定条件: (*) 四、数值实验的过程、相关程序及结果: 本次的实验题目所给出的边界条件是第一边界条件,直接利用所给的边界条件,我们可以给出界点处以及第0层的函数值,根据a1的正负性,使用相应的1或者2式,求出其他层的函数值。误差转化成图的形式,并输出最大值。 针对三种不同的输入对应输出结果 : A: a1=1;b1=2;a=1;b=1;h=0.1;k=0.001; 结果一: 1.误差最大值: e = 7.9402e-004 2.误差图如下图所示: B: a1=-1;b1=2;a=1;b=1;h=0.1;k=0.001; 结果二: 1.误差最大值: e = 0.0682 2.误差图: C: a1=-1;b1=-0.1;a=1;b=1;h=0.1;k=0.001; 结果三: 误差最大值: e = 6.2221e+005 误差图: 五、实验结论: 通过上机实现,进一步直观了解流扩散方程的稳定具有很强的条件性,只要在a1,b1,h和满足(*)式时才是稳定的,如结果一、二,否则会出现结果三的情形,误差相当大。 本次实验,熟悉并掌握了差分格式的一般构造方法,理清了具体的步骤,提高了利用计算机解决问题的能力。 附:Matlab源代码: 1. function z=ft(x)%求下边界 z=exp(x/2); 2.function z=fx1(t)%求左边界 z=exp(-t); 3.function z=fx2(t)%求右边界 z=exp(1/2-t); 4.function z=f(x,t)%求右端函数 z=-exp(x/2-t); 5 .function z=fu(x,t)%求真解 z=exp(x/2-t); 6. function [X,T,z]=upwindL(a1,b1,a,b,h,k)%用迎风格式求解 upwindL(1,2,1,1,0.1,0.1) x=0:h:a;t=0:k:b; [T,X]=meshgrid(t,x); m=length(x);n=length(t); r1=a1*k/h;r2=b1*k/h^2; uu=zeros(m,n);%储存数值解 z=uu;%储存误差 for i=1:m%求下边界 uu(i,1)=ft(x(i)); end for j=2:n%求左右边界 uu(1,j)=fx1(t(j)); uu(m,j)=fx2(t(j)); end %迎风格式求内点,从下往上 if(a10) for j=2:n for i=2:m-1%从左往右 uu(i,j)=(1-r1-2*r2)*uu(i,j-1)+(r1+r2)*uu(i-1,j-1)+r2*uu(i+1,j-1)+k*f(x(i),t(j-1));%求数值解 z(i,j)=abs(uu(i,j)-fu(x(i),t(j)));%求误差 end end else for j=2:n for i=2:m-1%从左往右 uu(i,j)=(1+r1-2*r2)*uu(i,j-1)+(r2-r1)*uu(i+1,j-1)+r2*uu(i-1,j-1)+k*f(x(i),t(j-1));%求数值解 z(i,j)=abs(uu(i,j)-fu(x(i),t(j)));%求误差 end end end %主函数,用于输出 7. [X,T,z]=upwindL(a1,b1,a,b,h,k); mesh(T,X,z) e=m

您可能关注的文档

文档评论(0)

139****7971 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档