matlab课设 三阶微分方程多种方法求解.docVIP

matlab课设 三阶微分方程多种方法求解.doc

  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 页 三、课程设计详细过程及结果 ————————3至10页 四、课程设计体会 ————————10至11页 华东交通大学 09软件+电气4班 陈忱 课程设计题目: 用三种以上方法求解三阶微分方程 课程设计目的及意义: 通过使用多种方法求解三阶微分方程可以熟悉matlab中各种数学计算方法,例如数值型方法,符号方法,建立数学模型的方法。首先数学计算方法在工程应用中十分广泛,使用matlab编程,往往只要几个语句就可以求解任务,具有效率高,使用方便的特点,通过课程设计我们可以充分体验到。Matlab符号计算是通过集成在matlab中的符号运算工具箱的Maple软件的基础上,使用符号计算可以获得比数值计算更一般的结果,获得的结果以变准的符号形式来表现。数学模型的方法是通过Simulink系统仿真来实现,它提供了图形用户界面,操作简单,内容丰富,可以根据用户的不同输入很方便的得到仿真结果,这些都可以在课程设计中来具体操作实现,让我们对matlab强大的数学计算功能有个更深刻详细的认识。 课程设计任务及要求: 假设微分方程为三阶的如:y’’’(t)+0.2y’’(t)+0.4y’(t)+0.8y(t) = 0.5u(t),其中u(t)为单位斜坡函数。分别用数值型方法,符号方法,建立数学模型的方法解之。其中建立数学模型仿真的方法要用三种方法:传递函数法,状态方程方法以及时域分析法。并分别用示波器或图形观测窗口显示输出与输入图形。 课程设计过程: 1数值型方法 步骤: 1:在Matlab下输入:edit; 2:在其中输入如下代码 function DYDt=amanm(t,Y) y=Y(1); dydt=Y(2); d2ydt2=Y(3); DYDt=[Y(2);Y(3);0.5-0.8*y-0.4*dydt-0.2*d2ydt2]; 3:保存.m文件; 4:在Matlab命令行下面输入: t_start=0; t_end=20; yy0=[0;0;0]; %初值 [t,y]=ode45(amanm,[0,t_end],yy0); % ode45是用4阶方法提供候选解,5阶方法控制误差,是一种自适应步长的方法。 plot(t,y(:,1)); xlabel(t); ylabel(y) y(end,1) 2符号方法 对于使用符号方法求解三阶微分方程必须了解matlab的dsolve函数,Mathematica?函数Dsolve求微分方程的符号解. (而另一方面,Mathematica?函数NDsolve?是一个普遍的数值微分方程解算器.)Dsolve(eq,c,v)该函数求解常微分方程eq在初值条件c下的特解。参数v描述方程中的变量,省略时按照默认原则处理,若没有给出初始条件c则求方程的通解。所以题目中的三阶微分方程y’’’(t)+0.2y’’(t)+0.4y’(t)+0.8y(t) = 0.5u(t)可以写成D3y+0.2*D2y+0.4*Dy+0.8*y=0.5。在matlab命令行中输入如下代码:t = dsolve(D3y+0.2*D2y+0.4*Dy+0.8*y=0.5,y(0)=0,Dy(0)=0,D2y(0)=0);这里假设初值都为0;可以得到 t =5/8+(-5/24-295/40368*(1306+15*3^(1/2)*2563^(1/2))^(2/3)-15/1189232*(1306+15*3^等等(结果太长省略)命令中输入如下代码: t=dsolve(D3y+0.2*D2y+0.4*Dy+0.8*y=0.5,y(0)=0,Dy(0)=0,D2y(0)=0); subplot(1,2,2); ezplot(t,[0,20]),grid 可以看到两次前两种方法绘制的曲线是相同的。 2建立数学模型方法 1)用积分器直接构造微分方程模型 把原微分方程改写成:y’’’+0.2y’’+0.4y’+0.8y=0.5u(t) 利用simulink模块库中的基本模块建立如下系统模型: 各个模块说明如下: (a). u(t)输入模块:为斜坡信号; (b). Gs增益模块分别设置为0.2,0.4,0.8,旋转可借助Format菜单中的RotateBlock命令来实现; (c). 求和模块:其图形Icon shape选择rectangular,符号列表List of signs 设置为+---; (d).积分模块:参数不变; (e). Scope示波器:在示波器参数窗口选择Date history 页,选中其中的Save data to w

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档