用-Matlab-求解微分方程.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 用 Matlab 求解微分方程 借助 Matlab 软件,可以方便地求出微分方程(组)的解析解和数值解。 微分方程(组)的解析解 求微分方程(组)解析解的命令为 dsolve(‘eqn1’, ‘eqn2’, ..., ‘x’) 其中“eqni”表示第 i 个方程,“x”表示微分方程(组)中的自变量,默认时自变量为 t。此外,在“eqni”表示的方程式中,用 D 表示求微分,D2、D3 等表示求高阶微分,任何 D 后所跟的字母表示因变量。 例 8.5.1 求解一阶微分方程 dy/dx = 1 + y2。 求通解 输入:dsolve(‘Dy=1+y^2’, ‘x’) 输出:ans = tan(x+C1) 求特解 输入:dsolve(‘Dy=1+y^2’, ‘y(0)=1’, ‘x’) 输出:ans = tan(x+1/4*pi) 例 8.5.2 求解下列微分方程的通解及 y(0) = 0 和 y ?(0) = 15 条件下的特解 求通解 输入:y=dsolve(D2y+4*Dy+29*y=0, x) 输出:y = C1*exp(-2*x)*sin(5*x)+C2*exp(-2*x)*cos(5*x) 求特解 输入:y=dsolve(D2y+4*Dy+29*y=0, y(0)=0, Dy(0)=15, x) 输出:y = 3*exp(-2*x)*sin(5*x) 例 8.5.3 求解下列微分方程组 求通解 方式一 输入: [x,y,z]=dsolve(Dx=2*x-3*y+3*z,Dy=4*x -5*y+3*z,Dz=4*x-4*y+2*z, t); 输出:x = C2*exp(-t)+C3*exp(2*t) y = C2*exp(-t)+C3*exp(2*t)+exp(-2*t)*C1 z = C3*exp(2*t)+exp(-2*t)*C1 方式二 输入:[x,y,z]=dsolve(Dx=2*x-3*y+3*z,Dy=4*x -5*y+3*z,Dz=4*x-4*y+2*z, t); x=simple(x) % 将x化简 y=simple(y) z=simple(z) 输出:x = C2/exp(t)+C3*exp(t)^2 y = C2*exp(-t)+C3*exp(2*t)+exp(-2*t)*C1 z = C3*exp(2*t)+exp(-2*t)*C1 求特解 输入:[x,y,z]=dsolve(Dx=2*x-3*y+3*z, Dy=4*x-5*y+3*z,Dz=4*x-4*y+2*z, x(0)=0, y(0)=1, z(0)=2, t); x=simple(x) % 将x化简 y=simple(y) z=simple(z) 输出:x = exp(2*t)-exp(-t) y = exp(2*t)-exp(-t)+exp(-2*t) z = exp(2*t)+exp(-2*t) 微分方程(组)的数值解 事实上,能够求得解析解的微分方程或微分方程组少之又少,多数情况下需要求出微分方程(组)的数值解。 Matlab中求微分方程数值解的函数有五个:ode45,ode23,ode113,ode15s,ode23s。调用格式为 [t, x] = solver (‘f’, ts, x0, options) 需要特别注意的是: ① solver 可以取以上五个函数之一,不同的函数代表不同的内部算法:ode23 运用组合的 2/3 阶龙格—库塔—费尔贝算法,ode45 运用组合的 4/5 阶龙格—库塔—费尔贝算法。通常使用函数 ode45; ② f 是由待解方程写成的m文件的文件名; ③ ts=[t0, tf],t0、tf为自变量的初值和终值; ④ x0为函数的初

文档评论(0)

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

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

1亿VIP精品文档

相关文档