第9章微分方程精选.pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  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文档。上传文档
查看更多
第9章微分方程精选

* 第9章 MATLAB微分方程求解 * 9.1 常微分方程初值问题 常微分方程的初值问题是科学计算中的常见问题,MATLAB提供了求解常微分方程(ODE)初值问题的一系列ode函数。ode函数主要采用Runge-Kutta法求解常微分方程。 常用ode函数 函数名 含义 函数名 含义 ode23 普通2-3阶法解ODE ode23s 变阶法解刚性ode ode45 普通4-5阶法解ODE ode23t 解适度刚性ode ode113 普通变阶法解ODE ode23tb 低阶法解刚性ode * 9.1.1 ODE的机理 将高阶常微分方程的初值问题,转变为1阶常微分方程组的初值问题。 9.1.2 普通2-3阶法解ODE 例 9-1 编制常微分方程的函数文件dfun.m function dy=dfun(x,y) dy=y-2*x/y 编制如下计算程序 clear;clc; X12=linspace(0,5,50); [X,Y]=ode23(dfun,X12,2); plot(X,Y) 运行结果如图9-1所示 图 9-1 * 9.1.3 普通4-5阶法解ODE 例 9-2 编制微分方程组的函数文件dfun.m function dy=dfun(x,y) dy(1,1)=-2*y(1)+y(2)+2*sin(x); dy(2,1)=10*y(1)-9*y(2)+9*(cos(x)-sin(x)); 编制如下程序 clear;clc; X12=linspace(0,9,30); ode45(dfun,X12,[2,3]); 运行结果如图9-2所示 图9-2 * 9.2 常微分方程边值问题 9.2.1 边值问题简介 一般来说,微分方程边值问题可能有解、也可能无解,可能有唯一解、也可能有无数解。在假定有唯一解的前提下,边值问题有三种基本解法: 迭加法:假如微分方程和边界条件是线性的,边值问题可以转化为初值问 题。 试射法:将问题转化为对漏缺初值的搜索,一旦漏缺初值确定,就可以按 初值问题求解。 松弛法:先猜测满足边界条件的区间网点上的解值,然后利用微分方程进 行迭代改善。 * 9.2.2 bvp4c求解思路 为求解常微分方程的边值问题,MATLAB提供了bvp4c函数文件。该文件是依据有限元法中的配置法编写的。其解题的基本思路如下: 把待解问题转化为标准边值问题 为期望解指定初始猜测 利用原微分方程,构造残差函数 用原微分方程和边界条件,借助迭代使残差不断减小 为了bvp4c使用的方便,MATLAB提供了能产生较好猜测解的bvpinit指令,减轻了用户进行初始猜测的负担。此外解算指令bvp4c也能处理包含未知参数的微分方程的边值问题。 * 9.2.3 bvp4c配套指令 例 9-3 编制微分方程组的函数文件dfun.m function dy=dfun(x,y,c) dy(1,1)=y(2); dy(2,1)=-c*abs(y(1)); 编制残差方程组的函数文件bfun.m function res=bfun(ya,yb,c) res(1,1)=ya(1); res(2,1)=yb(1)+2 编制如下计算程序 sol=bvp4c(dfun,bfun,sinit,[],c); plot(sol.x,sol.y(1,:),r--) hold on c=1.5; sol=bvp4c(dfun,bfun,sinit,[],c); plot(sol.x,sol.y(1,:),b-) legend(c=1,c=1.5) 运行结果如图9-3所示 clear;clc; x=linspace(0,4,5); v=[1;0]; sinit=bvpinit(x,v); c=1; 图 9-3 * 9.3 常微分方程的解析解 9.3.1 微分方程的通解 例 9-4 编制如下程序 clear;clc; fun=Dx=-a*t x=dsolve(fun,t) 运行结果为 fun = Dx=-a*t x = -1/2*a*t^2+C1 例 9-5 编制如下程序 clear;clc; fun1=Df=f+g; fun2=Dg=g-f; [f,g]=dsolve(fun1,fun2,t) 运行结果为 f = -exp(t)*(C1*cos(t)-C2*sin(t)) g = exp(t)*(C1*sin(t)+C2*cos(t)) * 9.3.2 微分方程的特解 例 9-6 编制如下程序 clear;clc; fun=D2y=4 x=dsolve(

文档评论(0)

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

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

1亿VIP精品文档

相关文档