东南大学数值分析第7章偏微分方程数值解法.docVIP

东南大学数值分析第7章偏微分方程数值解法.doc

  1. 1、本文档共6页,可阅读全部内容。
  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文档。上传文档
查看更多
第七章 偏微分方程数值解法 东南大学《数值分析》上机练习——算法与程序设计实验报告 第七章 偏微分方程数值解法 ——Crank-Nicolson格式 ****(学号) *****(姓名) 上机题目要求见教材P346,10题。 一、算法原理 本文研究下列定解问题(抛物型方程)  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 1) 的有限差分法,其中为正常数,为已知函数,且满足边界条件和初始条件。关于式(1)的求解,采用离散化方法,剖分网格,构造差分格式。其中,网格剖分是将区域用两簇平行直线 分割成矩形网格,其中分别为空间步长和时间步长。将式(1)中的偏导数使用不同的差商代替,将得到不同的差分格式,如古典显格式、古典隐格式、Crank-Nicolson格式等。其中,Crank-Nicolson格式具有更高的收敛阶数,应用更广泛,故本文采用Crank-Nicolson格??求解抛物型方程。 Crank-Nicolson格式推导:在节点处考虑式(1),有  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 2) 对偏导数用中心差分展开  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 3) 将在节点和表示为  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 4) 对以上两个偏导数用二阶差分展开  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 5)  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 6) 将式(4)(5)(6)分别代入式(3),略去高阶小量,用代替并化简得  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 7) 令,将式(7)联合式(1)初始条件和边界条件,用矩阵的形式表示为:  MACROBUTTON MTPlaceRef \* MERGEFORMAT  SEQ MTEqn \h \* MERGEFORMAT ( SEQ MTEqn \c \* Arabic \* MERGEFORMAT 8) Crank-Nicolson格式的截断误差为,具有较高的精度。 二、计算代码 Crank_Nicolson格式完整代码 function U=Crank_Nicolson(f,a,x0,xn,dx,t0,tm,dt,g,s0,sn) %采用Crank_Nicolson格式求解抛物线型偏微分方程 % du/dt-a*d2u/dx2=f(x,t) %Input - f 抛物方程右端函数 % - a为二阶导系数 % - x0 and xn 空间域端点 % - t0 and tm 时间域端点 % - dx为空间步长,dt为时间步长 % - g 为初始条件函数 % - s0,sn为边界条件函数 %Output - U 输出,横坐标为空间,纵坐标为时间 M=(tm-t0)/dt;N=(xn-x0)/dx;%网格数 x=x0+dx:dx:xn-dx; t=t0:dt:tm; u=feval(g,x);u=u; r=a*dt/dx/dx;%步长比 %Crank-Nicolso

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档