控制系统仿真和MATLAB语言_连续系统的离散化方法

控制系统仿真和MATLAB语言_连续系统的离散化方法

ID:36412524

大小:2.78 MB

页数:46页

时间:2019-05-09

控制系统仿真和MATLAB语言_连续系统的离散化方法_第1页
控制系统仿真和MATLAB语言_连续系统的离散化方法_第2页
控制系统仿真和MATLAB语言_连续系统的离散化方法_第3页
控制系统仿真和MATLAB语言_连续系统的离散化方法_第4页
控制系统仿真和MATLAB语言_连续系统的离散化方法_第5页
资源描述:

《控制系统仿真和MATLAB语言_连续系统的离散化方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第四章 连续系统的离散化方法4.1常微分方程的数值解法一.数值求解的基本概念设微分方程为则求解方程中函数x(t)问题的常微分方程初值问题所谓数值求解就是要在时间区间[a,b]中取若干离散点求出微分方程在这些时刻的近似值取前两项近似:这种方法的几何意义就是把f(t,x)在区间[tk,tk+1]内的曲边面积用矩形面积近似代替。计算简单,计算量小,而且可以自启动。当h很小时,造成的误差是允许的。该算法具有一阶精度。取k=0,1,2,…N,从t0开始,逐点递推求解t1时的y1,t2时的y2…,直至tn时的yn,称之为欧拉递推公式。矩形面积1.欧拉法欧拉法的特点:导出简单,几何意

2、义明显,便于理解,能说明构造数值解法一般计算公式的基本思想。通常用它来说明有关的基本概念。例设系统方程为用Euler法求其数值解(取步长,)递推公式为则已知方程的解析解为      精确解和解析解作比较:误差在数量级,精度较差。t00.10.20.30.40.5……1.0精确解10.9090.8330.7690.6660.625……0.5数值解10.90.8190.7520.6590.6470.4632.龙格库塔法※基本思想:取Taylor级数展开式前三项近似求解,并利用线性组合代替导数的求解。既可避免计算高阶导数,又可提高数值积分的精度,这就是Runge-Kutta法

3、的基本思想。2.龙格库塔法※r为精度阶次,ai为待定系数,由精度确定;ki用下式表示线性组合等各阶导数不易计算,用下式中ki的线性组合代替1)当r=1时:与Taloy展开式相比较,可得a1=1,则上式成为欧拉递推公式2)当r=2时:将       在点   展成Taylor级数与台劳公式的二阶展开近似公式相比,可得以下关系:三个方程,四个未知数,解不唯一各个系数的几种取法——见书上。3)r=4时,四阶龙格库塔公式-最常用:仿真中遇到的大多数工程实际问题,四阶龙格库塔法以能满足精度要求,其截断误差o(h5)与h5同数量级。该法可以自启动。4)、状态空间四阶龙格-库塔递推式

4、若单输入单输出系统的状态空间表达式为:在仿真中,对于n阶系统,状态方程可以写成一阶微分方程根据四阶龙格-库塔公式,有T=tk时刻的xi值T=tk+h时刻的xi值另状态方程的四阶龙格-库塔公式如下:RK法的特点:1需要存储的数据少,占用的存储空间少;2只需知道初值,即可启动递推公式进行计算,可自启动;3容易实现变步长运算。4每积分一步需要计算多次右函数,计算量大。基于龙格-库塔法,MATLAB提供了求常微分方程数值解的函数,一般调用格式为:[t,x]=ode23(‘xfun’,[t0,tf],x0)[t,x]=ode45(‘xfun’,[t0,tf],x0)常微分方程函数

5、名起始时间终止时间初始状态向量输入输出4/5阶龙格-库塔算法2/3阶龙格-库塔算法3.常微分方程Matlab求解解:令y1=x,y2=x’1、建立M-文件vdp.m如下:functiondy=vdp(t,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=2*(1-y(1)^2)*y(2)-y(1);2、取t0=0,tf=20,输入命令:[T,Y]=ode45(‘vdp’,[010],[1;1]);plot(T,Y(:,1),'-‘,T,Y(:,2))3、结果解1、建立m-文件rigid.m如下:functiondy=rigid(t,y)dy=zeros(

6、3,1);dy(1)=y(2)*y(3);dy(2)=-y(1)*y(3);dy(3)=-0.51*y(1)*y(2);2、取t0=0,tf=12,输入命令:[T,Y]=ode45('rigid',[012],[011]);plot(T,Y(:,1),'-',T,Y(:,2),'*',T,Y(:,3),'+')3、结果如图图中,y1的图形为实线,y2的图形为“*”线,y3的图形为“+”线.4.2数值算法的稳定性及求解原则1.数值算法的稳定性特征根在s平面的左半平面,系统稳定。(1)欧拉法:稳定:(2)梯形法:恒稳2.数值算法的选择原则Matlab提供了微分方程数值求解的

7、一般方法,作为仿真算法的使用者,可不必考虑算法具体实现,而应关心各种方法在使用中会出现的问题,以及如何在仿真中恰当的选用这些方法.一般,选用数值算法从以下几个方面考虑:(1)精度受算法和h影响截断误差+舍入误差=累计误差(2)计算速度受算法和h影响算法简单,速度就快些。(3)稳定性受h影响,一般h≤(2-3)τ系统最小时间4.3数值算法中的“病态”问题1“病态”常微分方程例:其中采用四阶龙格库塔法h=0.01时,计算时间长h=0.04时,误差很大当h>0.05后,曲线发散振荡,数值不稳定,完全失去意义系统矩阵的特征值差异较大一般线性常微分

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。