实验六.常微分方程(组)求解.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常微分方程(组)求解 【实验目的】 1.求微分方程的符号解。 2.求微分方程的数值解。 【实验相关知识】 (一)微分方程的符号解. 微分方程的符号解也叫做解析解. 求微分方程(组)的符号解用命令dsolve. 命令格式如下: s=dsolve(方程1,方程2,…,初始条件1,初始条件2,…,自变量) 说明:用字符串表示方程,自变量缺省则默认为t. 导数用D表示, 2阶导数用D2表示,以此类推。返回值s是符号解. 例1. 求初值问题的解。 dsolve 命令格式是: dsolve(Dy = y*t/(t-5),y(0) = 2) ans = -2/3125*exp(t)*(t-5)^5 或者 s=dsolve(Dy = y*t/(t-5),y(0) = 2) s = -2/3125*exp(t)*(t-5)^5 二阶或更高阶方程的处理情况相类似。例如: , y(0) = -1, y(0) = 2 写成如下的形式输入MATLAB: dsolve(D2y - y = 0,y(0) = -1,Dy(0) = 2) ans = -3/2*exp(-t)+1/2*exp(t) 例2: 求满足初始条件的符号解. 写成如下的形式输入MATLAB: s=dsolve(D2y=sin(2*x)-y,y(0)=0,Dy(0)=1,x) simplify(s) %如果得到符号解比较复杂,可以试试化简 pretty(s) %显示漂亮的形式。 大家得到的结果是什么呢? (二)微分方程的数值解. 一般说来,只有对一些典型的常微分方程,才能求出它们的一般解.然而在实际问题中遇到的常微分方程往往很复杂,在许多情况下得不出一般解.所以一般是要求在若干点的近似数值解. 求数值解的命令如下: [xout,yout]=ode45(equation,[x0,xm],y0) 说明:(1) 返回值中,xout表示自变量的取值点(x0,x1,…,xn), yout表示数值解,它是一个矩阵,它的每一列对应y的一个分量。 (2) 这里equation必须是事先定义的表示微分方程(组)的M-文件。 (3) [x0,xm]是自变量的区间。 (4) y0是初始向量值。 (5)ode45还可以换成其他算法,如ode23. 注意: 命令ode45或ode23是对一阶常微分方程(组)设计的,因此对高阶常微分方程,需将它转化为一阶常微分方程组. 例如对二阶常微分方程,通过令得到一阶常微分方方程组. 在求数值解时,我们往往将数值解与画图结合, 将数值解用图像呈现出来. 例3: 求解微分方程组 先定义M-文件fun1.m。 function x=fun1(t,y) x=[y(1)*y(2)-0.3*y(1),-y(1)*y(2)] ; 然后 ts=[0,50]; % 写成ts=0:50也行 y0=[0.02,0.98]; % 表示初始值 [t,y]=ode45(fun1,ts,y0); plot(t,y(:,1),t,y(:,2)) %根据x的第一、二列同时作两条曲线 grid %为了观察方便,可添上网格线. 例4: 求解微分方程.先求符号解,再求数值解, 并作图进行比较. s=dsolve(Dy=-y+t+1,y(0)=1,t) simplify(s) 可得符号解为y=t+exp(-t). 为了求数值解,先编写M-文件fun.m function f=fun2(t,y) f=-y+t+1; 保存,再运行如下命令: clear t=0:0.02:1; y=t+exp(-t); plot(t,y) %画符号解的图形 hold on %保留已画好的图形, [t,y]=ode45(fun2,[0,1],1); plot(t,y,ro); %画数值解图形,用红色小圆圈 xlabel(t),ylabel(y) %标上各坐标名称 运行结果见下图, 可见符号解和数值解吻合得很好. 作业: 问题1:求满足初始条件的符号解。 问题 2:解微分方程组初值问题: 试画出其相图。 . 问题3:求解微分方程 先求符号解,再求数值解, 并将符号解和数值解的图形进行比较.

文档评论(0)

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

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

1亿VIP精品文档

相关文档