网站大量收购闲置独家精品文档,联系QQ:2885784924

第4-1章 时域离散相似法Matlab编程.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4-1章 时域离散相似法Matlab编程

第4章 时域离散相似法仿真Matlab编程;用于离散相似的Matlab函数;【例4.1.1】对下面的连续系统,在采样周期T=0.1时进行离散化;4.2 针对离散状态空间模型的仿真程序;function [t,y]=w_DiscreteSimu(tstart,tstop,h,x0,u0,G,H,C,D) t=[tstart:h:tstop];%t数一个行序列 cntt=size(t,2);%返回列数 cnty=size(C,1);%返回y的维数 y=zeros(cnty,cntt);%构造一个空矩阵,用来存储结果 y0=C*x0+D*u0; y(:,1)=y0 ;%将y0作为输出的第1列 curx=x0; %当前一步的x curu=u0; %当前一步的u cury=y0; %当前一步的y for i=1:1:cntt-1 curx=G*curx+H*curu;%计算下一步的状态 cury=C*curx+D*curu;%计算输出 y(:,i+1)=cury;%将输出加入到输出序列里 end;【例4.2.1】对下面的连续系统,采用数值积分法和离散相似法仿真。;仿真程序:用c2d进行模型变换,将数值积分与离散相似2种方法的结果对比。数值积分仿真的结果用plot函数绘图,表现连续的效果;离散模型仿真结果用stairs绘图,各数据点之间是零阶保持。;在步长h=0.5时,两种方法的仿真结果及其接近。离散模型的每个计算点都在连续模型上;4.3 面向环节离散化仿真(无非线性环节);2】环节内部离散模型;3】系统输出方程;function [t,p]=w_DisNodesSimu2(tstart,tstop,h,x0,y0,r0,W,W0,G,H,C,D,Q) % 函数功能:面向环节离散化仿真, % 环节输入方程: u(k)=W*x(k)+W0*r(k) % 环节迭代方程:x(k+1)=G*x(k)+H*u(k) % 环节输出方程 y(k)=C*x(k)+D*u(k); % 整个系统的输出方程 p(k)=Q*y(k); % 输入参数:tstart, tstop,h 分别是起始时间、结束时间和仿真步长 % x0,y0是每个环节状态和输出的初值, % r0为系统外部输入 % 输出参数:t是仿真结果的时间序列 % p是仿真结果系统的输出序列;function [t,p]=w_DisNodesSimu2(tstart,tstop,h,x0,y0,r0,W,W0,G,H,C,D,Q) t=[tstart:h:tstop];%t数一个行序列 cntt=size(t,2);%返回列数 cnty=size(Q,1);%返回y的维数 p=zeros(cnty,cntt);%构造一个空矩阵,用来存储结果 p(:,1)=Q*y0; % for i=1:1:cntt-1 u=W*y0+W0*r0; x0=G*x0+H*u; y0=C*x0+D*u; p(:,i+1)=Q*y0 ;%将y0作为输出的第1列 end;2、逐个环节刷新的仿真程序 该函数所有参数与w_DisNodesSimu2的一样。 逐个环节刷新是逐个根据环节的编号顺序,计算环节的输入,再计算输出,再计算下一个环节的输入和输出,依次进行,相当于环节之间串连运算。;function simu4_3 tstart=0;tstop=10;A=[0,1;-2,-3];B=[0;1];C=[2,0];D=[0];x0=[0;0];u0=[1];h=0.5; [G,H]=c2d(A,B,h);%得到离散模型矩阵 [t,y1]=w_LinearSimu(tstart,tstop,h,x0,u0,A,B,C,D,RK4); [t,y2]=w_DiscreteSimu(tstart,tstop,h,x0,u0,G,H,C,D); %离散相似法仿真 %面向环节离散化仿真 W=[0,-1;1,0];W0=[1,0];Q=[0,1];C=diag([1,1]);D=zeros(2); G=diag([1,exp(-3*h)]);H=diag([2*h,(1-exp(-3*h))/3]);y0=x0; [t,y3]=w_DisNodesSimu2(tstart,tstop,h,x0,y0,u0,W,W0,G,H,C,D,Q); plot(t,y1,‘-r’); hold on; stairs(t,y2,:k+); stairs(t,y3,-b*); hold off; axis([0,10,0,1.2]); xlabel(x);ylabel(y); legend(数值积分

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档