MATLB求解微分方程实验.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLB求解微分方程实验

蓝色曲线 ——y(1); (原方程解) 红色曲线 ——y(2); * * 实验 Experiments in Mathematics 微 分 方 程 求 解 实验目的 实验内容 MATLAB 2、学会用Matlab求微分方程的数值解. 实验软件 1、学会用Matlab求简单微分方程的解析解. 1、求简单微分方程的解析解. 2、求微分方程的数值解. 微分方程的解析解 求微分方程(组)的解析解命令: dsolve(‘方程1’, ‘方程2’,…‘方程n’, ‘初始条件’, ‘自变量’) 注意:① y Dy,y D2y ② 自变量名可以省略,默认变量名‘t’。 例1 输入:y=dsolve (Dy=1+y^2) y1=dsolve(Dy=1+y^2,y(0)=1,x) 输出:y= tan(t-C1) (通解) y1= tan(x+1/4*pi) (特解) MATLAB软件求解 例2 常系数的二阶微分方程 y=dsolve(D2y-2*Dy-3*y=0,x) y=dsolve(D2y-2*Dy-3*y=0,y(0)=1,Dy(0)=0,x) 输入: y = C1*exp(-x)+C2*exp(3*x) y = 3/4*exp(-x)+1/4*exp(3*x) 结果: x=dsolve(D2x-(1-x^2)*Dx+x=0, x(0)=3,Dx(0)=0) 例3 非常系数的二阶微分方程 无解析表达式! x=dsolve((Dx)^2+x^2=1,x(0)=0) 例4 非线性微分方程 x = sin(t) -sin(t) 若欲求解的某个数值解,如何求解? t=pi/2; eval(x) MATLAB软件求解 输入: [x,y]=dsolve(Dx=3*x+4*y,Dy=-4*x+3*y) [x,y]=dsolve(Dx=3*x+4*y,Dy=-4*x+3*y,x(0)=0,y(0)=1) 例5 输出: x =-exp(3*t)*(C1*cos(4*t)-C2*sin(4*t)) y =exp(3*t)*(C1*sin(4*t)+C2*cos(4*t)) x =exp(3*t)*sin(4*t) y =exp(3*t)*cos(4*t) MATLAB软件求解 解 输入命令 : [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 =C3*exp(2*t)+exp(-t)*C1 y =C2*exp(-2*t)+C3*exp(2*t)+exp(-t)*C1 z =C2*exp(-2*t)+C3*exp(2*t) 微分方程的数值解 (一)常微分方程数值解的定义 在生产和科研中所处理的微分方程往往很复杂且大多得不出一般解。而在实际上对初值问题,一般是要求得到解在若干个点上满足规定精确度的近似值,或者得到一个满足精确度要求的便于计算的表达式。 因此,研究常微分方程的数值解法是十分必要的。 返 回 (二)建立数值解法的一些途径 1、用差商代替导数 若步长h较小,则有 故有公式: 此即欧拉法。 2、使用数值积分 对方程y’=f(x,y), 两边由xi到xi+1积分,并利用梯形公式,有: 实际应用时,与欧拉公式结合使用: 此即改进的欧拉法。 故有公式: 3、使用泰勒公式 以此方法为基础,有龙格-库塔法、线性多步法等方法。 4、数值公式的精度 当一个数值公式的截断误差可表示为O(hk+1)时(k为正整数,h为步长),称它是一个k阶公式。 k越大,则数值公式的精度越高。 欧拉法是一阶公式,改进的欧拉法是二阶公式。 龙格-库塔法有二阶公式和四阶公式。 线性多步法有四阶阿达姆斯外插公式和内插公式。 返 回 (三)用Matlab软件求常微分方程的数值解 [t,x]=solver(’f’,ts,x0,options) ode45 ode23 ode113ode15sode23s 由待解方程

文档评论(0)

138****7331 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档