第四节连续系统的离散化方法.pptVIP

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 连续系统的离散化方法 4.1 常微分方程的数值解法 其一般公式为 解:因欧拉法的递推公式为 4.1.3 龙格-库塔法 将 2、 其意义如下:用欧拉法以斜率先求取一点, 再由此点求得另一斜率 四阶龙格-库塔法的计算公式为: 其中, 四阶/五阶龙格-库塔法系数表 4.1.4 微分方程数值解的MATLAB实现 1、 微分方程组中的方程个数必须等于初始条件数,这是求微分方程特解所必须的条件。 6、输入参数options表示选项参数(包括tol,trace),可缺省,即取默认值,tol是控制结果精度的选项对ode23( )函数取 ,对ode45( )函数取 。trace为输出形式控制变量,如果trace不为0,则 例 4-1 求解常微分方程 首先编制M文件,并且函数名和M文件名相同。 function xdot=wffc_1(t,x) %定义t,x,xdot和文件名 xdot=[0 1;-1 0]*x+[0;1]*(2+t^2/pi); %状态方程的表示形式 编制M文件,并且函数名和M文件名相同。 function xdot=vdpl(t,x) xdot=zeros(2,1); %赋初值,并规定向量的维数。 xdot(1)=x(2); %对第一个微分方程进行描述 xdot(2)=2*(1-x(1)^2)*x(2)-x(1); %对第二个微分方程进行描述 在命令窗口键入[t,x]=ode45(vdpl,[0,20],[1;1]),可得微分方程的数值解,其前10组数据如下: 若在命令窗口输入ode45(@wffc_1,[0,10],[-1;1]),则可得到系统状态曲线,而不输出数据。如图4-4所示。 仿真时间参数设置如图4-8所示。 4.2数值解法的稳定性及选择原则 4.2.1 数值解法的稳定性 2.梯形法 4.2.2 数值解法的选择原则 一般来说,选择数值计算方法从以下原则考虑: 1、精度问题 数值计算的精度主要受下面三类误差影响。截断误差、舍入误差和积累误差。 其中截断误差同数值算法的阶次有关,阶次越高,截断误差越小,一般减小步长可减小每一步的截断误差。舍入误差则与计算机字长有关,字长越长,舍入误差越小。积累误差是上述两类误差积累的结果,它同积分时间长短有关。一般积分步长越小,则积累误差越大(在一定的积分时间下)。所以,在一定的数值计算方法下,若从总误差考虑,必定有一个最佳步长值。 2、计算速度问题 计算速度决定于计算的步数以及每一步积分所需的时间,而每一步的计算时间同数值计算方法有关。例如四阶龙格-库塔法每一步需要求四个斜率值,花费较多的时间(但精度高)。在积分方法确定时,应在保证一定的计算精度下尽量能选用较大的步长(必须满足数值稳定的条件),以缩短积分时间(有时往往选用变步长的算法)。 3、数值解的稳定性 数值算法实际上就是将微分方程化成差分方程进行求解,对一个稳定的微分方程组,经过变换得到的差分方程不一定稳定。不同的数值计算方法有不同的稳定域。从稳定性角度看,隐式比显式好。 4.3数值算法中的“病态”问题 4.3.1 “病态”微分方程 采用四阶龙格-库塔法,选取固定步长的仿真方法,取h=0.01, A = -21 19 -20 19 -21 20 40 -40 -40 eig(A) ans = -2.0000 -40.0000 +40.0000i -40.0000 -40.0000i “病态(stiff)”方程。表述如下: 一般线性常微分方程组: 4.3.2 “病态”系统的仿真方法 采用自动变步长数值计算方法 4.4 连续系统状态方程的离散化 连续定常系统状态方程为: 在MATLAB命令窗口输入: MATLAB还提供了c2dm( )函数来作类似的变换,其调用格式为: [G,H,Cd,Dd]=c2dm(A,B,C,D,T,‘选项’) 它与c2d函数的区别在于,它可以允许用户自己选择变换方法。 MATLAB的控制工具箱还给出了离散状态方程转化为连续状态方程的函数d2c( ),其调用格式为: [A,B]=d2c(G,H,T) 除了d2c( ) 函数外,MATLAB还提供了d2cm( )函数,其调用格式为: [A, B, C, D]=d2cm(G, H, Cd, Dd, T,‘选项’) 其中转换方法的选项意义如表4-2所述。 对上面采用Tustin变换得到的结果,采用如下的变换可得到原来的连续状态方程 [A,B,C,D]=d2cm(G,H,Cd,Dd,0.1

文档评论(0)

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

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

1亿VIP精品文档

相关文档