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

微分方程的数值解(matlab求解).ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学模型电子教案 重庆邮电大学 数理学院 微分方程的MATLAB解法 1.常微分方程的符号求解 MATLAB的符号运算工具箱中提供了功能强大的求解常微分方程的函数dsolve。该函数的调用格式为: dsolve(eqn1,condition,var) 该函数求解微分方程eqn1在初值条件condition下的特解。参数var描述方程中的自变量符号,省略时按缺省原则处理,若没有给出初值条件condition,则求方程的通解。 , dsolve在求微分方程组时的调用格式为: dsolve(eqn1,eqn2,…,eqnN,condition1,…,conditionN,var1,…,varN) 函数求解微分方程组eqn1、…、eqnN在初值条件conditoion1、…、conditionN下的解,若不给出初值条件,则求方程组的通解,var1、…、varN给出求解变量。 例6.1 求微分方程的通解。 命令如下: y=dsolve(Dy-(x^2+y^2)/x^2/2,x) %解(1)。方程的右端为0时可以不写 y=dsolve(Dy*x^2+2*x*y-exp(x),x) %解(2) y=dsolve(Dy-x/y/sqrt(1-x^2),x) %解(3) 例6.2 求微分方程的特解。 命令如下: y=dsolve(Dy=2*x*y^2,y(0)=1,x) %解(1) y=dsolve(Dy-x^2/(1+y^2),y(2)=1,x) %解(2) 例6.3 用微分方程的数值解法和符号解法解方程,并对结果进行比较。 在MATLAB命令窗口,输入命令: y=dsolve(Dy+2*y/x-4*x,y(1)=2,x) %用符号方法得到方程的解析解 为了求方程的数值解,需要按要求建立一个函数文件fxyy.m: function f=fxyy(x,y) f=(4*x^2-2*y)/x; %只能是y=f(x,y)的形式,当不是这种形式时,要变形。 例6.3 用微分方程的数值解法和符号解法解方程,并对结果进行比较。 return 输入命令: [t,w]=ode45(fxyy,[1,2],2); %得到区间[1,2]中的数值解,以向量t、w存储。 为了对两种结果进行比较,在同一个坐标系中作出两种结果的图形。输入命令: x=linspace(1,2,100); y=x.^2+1./x.^2; %为作图把符号解的结果离散化 plot(x,y,b.,t,w,r-); 2. 常微分方程组求解 例6.5 求微分方程组的解。 命令如下: [x,y]=dsolve(Dx=4*x-2*y,Dy=2*x-y,t) %解方程组(1) [x,y]=dsolve(D2x-y,D2y+x,t) %解方程组(2) 问题背景 3.1 Euler 折线法 初值问题的Euler折线法 Euler 折线法举例 Euler 折线法源程序 Euler折线法举例(续) Runge-Kutta 方法 Runge-Kutta 方法 四阶 R-K 方法源程序 Runge-Kutta 方法 Euler 法与 R-K法误差比较 Matlab 解初值问题 dsolve 求解析解 dsolve 的使用 dsolve 举例 dsolve 举例 dsolve 举例 Matlab函数数值求解 Matlab提供的ODE求解器 参数说明 数值求解举例 数值求解举例 Matlab 求解微分方程小结 * * 自牛顿发明微积分以来,微分方程在描述事物运动规律上已发挥了重要的作用。实际应用问题通过数学建模所得到的方程,绝大多数是微分方程。 由于实际应用的需要,人们必须求解微分方程。然而能够求得解析解的微分方程十分有限,绝大多数微分方程需要利用数值方法来近似求解。 本实验主要研究如何用 Matlab 来计算微分方程(组)的数值解,并重点介绍一个求解微分方程的基本数值解法--Euler折线法。 3. 微分方程的数值解 考虑一维经典初值问题 基本思想:用差商代替微商 根据 Talyor 公式,y(x) 在点 xk 处有 具体步骤: 等距剖分: 步长: 分割求解区间 差商代替微商 得方程组: 分割求解区间,差商代替微商,解代数方程 为分割点 k = 0, 1, 2, ..., n-1 yk 是 y (xk) 的近似 例:用 Euler 法解初值问题 取步长 h = (2 - 0)/n = 2/n,得差分方程 当 h=0.4,即 n=5 时,Matlab 源程序见 fulu1.m 解: clear f=sym(y+2*x/y^2)

文档评论(0)

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

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

1亿VIP精品文档

相关文档