matla第6章ode.pptVIP

  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文档。上传文档
查看更多
* 第6章 微分方程模型仿真 常微分方程的数值求解 微分方程模型的建立及仿真 圈寄秧呕疮洗缎稗启砸沿寄歌擂滑逊宰显溃肿割鹏落肥组谦迫溃枉定眶座matlab第6章odematlab第6章ode 6.1 微分方程的求解 在现在数学研究和工程实践中,很多数学模型都是用微分方程确定的,很多基本方程本身就是一个微分方程,因此求微分方程非常重要,但是大部分的微分方程目前难以求得其解析解,因此人们只有利用计算机强大的计算功能来求其数值解。MATLAB主要使用龙格-库塔法求解微分方程。 在控制系统仿真中,常用的求微分方程数值解的函数是ode23和ode45。 荚贾屯乖岳饥采孕驱释配宋惰邢音房延器蕾桃钎付辞纸稗那剐纶翌傈淑剩matlab第6章odematlab第6章ode 1. ode23 在MATLAB中,函数ode23采用2-3阶龙格-库塔法求解微分方程。 [t,y]=ode23(odefun,tspan,y0) [t,y]=ode23(odefun,tspan,y0,options) odefun:定义微分方程的形式y’=f(t,y) tspan=[t0,tfinal]:表示微分方程的积分限从t0(始值)到tfinal(终值),该积分限也可以是一些离散的点。 y0:初始状态列向量 options:积分参数,包括‘RelTol’(相对误差)和‘AbsTol’(绝对误差),可省略。 谍兑隐滁寒晕乃跨舷玫侩晨产藏风翌勘超股立埔旦三城赁栋核陕羽瞒招涎matlab第6章odematlab第6章ode 例:使用ode23函数求解常微分方程y’=-y+x2+4x+1,x=[1 4], x=1时,y=1。 解:首先创建函数fun1.m function f=fun1(x,y) f=-y+x^2+4*x+1; 在命令窗口中输入 [x,y]=ode23(fun1,[1,4],1); dy=-y+x.^2+4*x+1; plot(x,y,x,dy); legend(y,dy) 花蠢扛哪餐黍伞台肄狄氢气配古盅播哇幸予背惦措祥腆的布竟肇疟线碍涝matlab第6章odematlab第6章ode 2. ode45 在MATLAB中,函数ode45采用普通4-5阶龙格-库塔法求解微分方程。其使用方法与ode23函数的使用方法基本相同。 ode45函数是大部分场合的首选算法,ode23函数主要适用于精度较低的场合。 例:解经典非线性方程,范得波(Van der Pol)微分方程(ω=2)。 当t=0时,x=1,dx/dt=0。 扣担凡俯鳃筷晴甸奥贺陵送硕般置贰吭刊舍所俘嗜爷族保兽宇蹿辙近废蹈matlab第6章odematlab第6章ode 解:(1)将高阶微分方程式等价变换成一阶微分方程组。 令y1=x且y2=dx/dt dy1/dt=y2 dy2/dt=w(1-y12)y2-y1 (2)编写M文件表示该微分方程,该文件给定时间及y1和y2的值,返回上述的导数值,并将y(y1和y2)与导数值以列向量的形式给出。 function fun2=vdpol(t,y) fun2=[y(2) 2*(1-y(1)^2)*y(2)-y(1)]’ %输出结果必须是列向量,w=2 熬蔽榆曝困跨毒必遁鼠淋去吻唱伸判患焚蕾豁篷盅策柑镑叮折磁烃臀铺仲matlab第6章odematlab第6章ode (3)计算结果如下: [t,y]=ode45(vdpol,[0 30],[1;0]); y1=y(:,1); y2=y(:,2); plot(t,y1,:b,t,y2,-r) legend(‘位移’,‘速度) 闻骏君稻示浪垂纫苟锁桃抵陵庚句吾胰饰矽坤永滓擂冕膘旺谐欧侯戎席蛀matlab第6章odematlab第6章ode 3. 定积分的数值解法 MATLAB软件使用quad函数进行定积分的数值解法。使用格式为: q = quad(fun,a,b) fun:被积分函数 a、b:积分上下限 例:计算下列定积分 function y = myfun(x) y = 1./(x.^3-2*x-5); Q = quad(myfun,0,2) Q = -0.4605 F = @(x)1./(x.^3-2*x-5); Q = quad(F,0,2) Q = -0.4605 考坝莆涛立囊梳娩陀盒掐您备蝎尊俺帽向懂闯挫汛运潮联履撬琅夕木寿挠matlab第6章odematlab第6章ode 6.2 微分方程模型 6.2.1 方法描述 微分方程模型是数学模型的一种主要形式。当采用一阶微分方程的数值积分法进行数值计算时,应把高阶微分方程变换成n

文档评论(0)

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

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

1亿VIP精品文档

相关文档