一类两点边值问题的差分方法2.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一类两点边值问题的差分方法 摘要 对于两点边值问题主要有直接差分化和有限体积法,本文主要讨论利用直接差分化法,将求解两点边值问题的差分格式推广到更高精度。在构造差分格式上采用了基于Taylor展开的途径。通过数值算例,提出了使用Matlab软件编程进行快速求解的方法,并与编制的计程序的计算结果进行了对比。结果表明,使用Matlab软件编程求解,能够快速得到满意的结果。 关键词: 边值问题;差分方法;Taylor展开;数值解 前言 考虑以下两点边值问题 其中,,为已知函数,且, 网格剖分 给定正整数N,设步长为,取N+1个节点,有 这些节点将区间分成N个小区间 于是得到区间的一个网格剖分。 截断误差 对 Taylor级数展开可得 两式相减得到 带入原方程中得到如下所示的差分方程 其中为截断误差, 差分格式 去掉截断误差项 用近似值代替精确值得到 加上边界条件最终得到差分格式 差分格式的求解 差分格式化简为如下形式 系数矩阵形式如下 数值例子 给定问题 设该定解问题的精确解为,则 可得到 附录A: 利用直接差分法,通过Matlab软件编程求解可得到如下图及表 表(平均误差=) 正整数N 平均误差 8 4.525424363269589e-005 16 2.989430919579187e-006 32 1.919584925995500e-007 64 1.215867569589098e-008 128 7.649767853289037e-010 图(当a=0,b=1,N=100时) 附录B: 程序流程图: 解题程序流程图 追赶法流程图 附录C: Matlab编程代码: %Matlab 7.0 %The scheme of a class of two order ordinary differential equation boundary value problems of differential %consider equation:, %Non-homogeneous items:= %initial conditions: %exact solution: clear all; format long e; N=input(请输入N的值:); h=1/N; for i=1:N x(i)=i*h; end for i=1:N-2 c(i)=-1; end for i=2:N-1 a(i)=-1; end for i=1:N-1 q(i)=x(i); b(i)=2+h*h*q(i); end for i=2:N-2 f(i)=-h*h*(2.*cos(x(i)).*exp(x(i))+x(i).*sin(x(i)).*exp(x(i))); end f(1)=-h*h*(2.*cos(x(1)).*exp(x(1))+x(1).*sin(x(1)).*exp(x(1))); f(N-1)=-h*h*(2.*cos(x(N-1)).*exp(x(N-1))+x(N-1).*sin(x(N-1)).*exp(x(N-1)))+exp(1)*sin(1); m(1)=c(1)/b(1); y(1)=f(1)/b(1); for i=2:N-2 m(i)=c(i)/(b(i)-a(i)*m(i-1)); end for i=2:N-1 y(i)=(f(i)-a(i)*y(i-1))/(b(i)-a(i)*m(i-1)); end u(N-1)=y(N-1); for i=N-2:-1:1 u(i)=y(i)-m(i)*u(i+1); end t=h:h:(N-1)*h; U=sin(t).*exp(t); plot(t,U,g-+:,t,u,k:); legend(U,’)

文档评论(0)

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

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

1亿VIP精品文档

相关文档