云南财经大学实验报告偏微分方程数值解法.doc

云南财经大学实验报告偏微分方程数值解法.doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 0 PAGE 2 云南财经大学实验报告 系 (院):统数学院 专 业: 班 级: 学 号: 姓 名: 课程名称:偏微分方程数值解法 实验时间:2010年6月12日 指导教师: 云南财经大学教务处制 填表说明 实验名称 要用最简练的语言反映实验的内容。 实验目的 目的要明确,要抓住重点,可以从理论和实践两个方面考虑。在理论上,验证定理、公式、算法,并使实验者获得深刻和系统的理解,在实践上,掌握使用实验设备的技能技巧和程序调试的方法。一般需要说明是验证型实验还是设计型实验,是创新型实验还是综合型实验。 实验环境 实验用的软硬件环境(配置)。 实验内容(算法、程序、步骤和方法)这是实验报告极其重要的内容。这部分要写明依据何种原理、定律算法、或操作方法进行实验,要写明经过哪几个步骤。还应该画出流程图(实验装置的结构示意图),再配以相应的文字说明,这样既可以节省许多文字说明,又能使实验报告简明扼要,清楚明白。 结论(结果) 即根据实验过程中所见到现象和测得的数据,作出结论。 小结 对本次实验的思考和建议。 备注或说明 可填写实验成功或失败的原因,实验后的心得体会等。 指导教师评分 指导教师根据本次实验的预习、表现、操作的实验报告的撰写客观进行评分、签名,并记入成绩。 实验名称 1考虑扩散方程不同差分格式的数值结果以及边界处理对结果影响. 2考察扩散方程的初边值问题差分格式的数值结果以及不同边界处理对结果影响. 实验目的 考察一些差分格式的数值结果以及边界处理对结果的影响. 实验内容(算法、程序、步骤和方法) 实验1 考虑扩散方程差分格式的数值结果以及边界处理对结果影响. 程序: 附录1.1 %向前差分的Matlab程序 function u=forward(xs,xt,ys,yt,M,N) h=(xt-xs)/M;k=(yt-ys)/N;%h为空间步长,k为时间步长 m=M-1;n=N; sigma=k/(h*h); a=diag(1-2*sigma*ones(m,1))+diag(sigma*ones(m-1,1),1); a=a+diag(sigma*ones(m-1,1),-1);%define matrix a lside=l(ys+(0:n)*k);rside=r(ys+(0:n)*k); u(:,1)=f(xs+(1:m)*h); for j=1:n u(:,j+1)=a*u(:,j)+sigma*[lside(j);zeros(m-2,1);rside(j)]; end u=[lside;u;rside]; x=(0:m+1)*h;t=(0:n)*k; subplot(2,2,1); mesh(x,t,u); view(60,30),axis([xs xt ys yt -1 2]) %用前向差分计算问题(2.11)解u(0.4,0.4)的近似值 %近似值所在数据矩阵的行、列数 sigma i=0.4/0.1 j=0.4./k+1 附录1..2 function u=f(x) u=sin(pi*x); 附录1.3 function u=l(t) u=0*t; 附录1.4 function u=r(t) u=0*t; 附录2.1 %向后差分的Matlab程序 function u=backward(xs,xt,ys,yt,M,N) h=(xt-xs)/M;k=(yt-ys)/N;%h为空间步长,k为时间步长 m=M-1;n=N; sigma=k/(h*h); a=diag(1+2*sigma*ones(m,1))+diag(-sigma*ones(m-1,1),1); a=a+diag(-sigma*ones(m-1,1),-1);%define matrix a lside=l(ys+(0:n)*k);rside=r(ys+(0:n)*k); u(:,1)=f(xs+(1:m)*h); for j=1:n u(:,j+1)=a\(u(:,j)+sigma*[lside(j+1);zeros(m-2,1);rside(j+1)]); end u=[lside;u;rside]; x=(0:m+1)*h;t=(0:n)*k; subplot(2,2,2); mesh(x,t,u); view(60,30),axis([xs xt ys yt -1 2]) %用后向

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档