- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8讲 系统的分析32
第八讲 系统的分析 系统的分析包括系统的稳定性分析、时域分析、频域分析及根轨迹分析。 num=[3 16 41 28];den=[1 14 110 528 1494 2117 112]; %系统描述 [z,p,k]=tf2zp(num,den) %求系统的零极点 ii=find(real(z)0) n1=length(ii); %检验零点的实部;求取零点实部大于零的个数 jj=find(real(p)0) n2=length(jj); %检验极点的实部;求取极点实部大于零的个数 if(n20) disp(the system is unstable) disp(the unstable pole are:) disp(p(jj)) else disp(the system is stable) end %判断系统是否稳定 if(n10) disp(the system is a nonminimal phase one) else disp(the syetem is a minimal phase one) end %判断系统是否为最小相位系统 pzmap(p,z) %绘制零极点图 p z num=[20];den=[1 8 36 40 0]; %开环传递函数描述 [numc,denc]=cloop(num,den); %求闭环传递函数 t=0:0.1:10; y=step(numc,denc,t); [y1,x,t1]=step(numc,denc); %绘制闭环系统的阶跃响应曲线 %对于传递函数调用,状态变量x返回为空矩阵 plot(t,y,r:,t1,y1) title(‘the step responce’);xlabel(time-sec) disp(系统稳态值dc为:) dc=dcgain(numc,denc) %求稳态值 wn=5;alfh=0.6;num=wn^2; den=[1 2*alfh*wn wn^2]; %系统传递函数描述 t=0:0.02:5; y=step(num,den,t); plot(t,y) %绘制闭环系统的阶跃响应曲线 title(two orders linear system step responce) xlabel(time-sec);ylabel(y(t));grid on function [pos,tr,ts,tp]=stepchar(y,t) %find pos and tp [mp,ind]=max(y); %返回阶跃响应输出y列向量的最大值mp及对应下标值ind dimt=length(t); %求取时间向量的长度dimt yss=y(dimt); %确定最终的稳定值yss pos=100*(mp-yss)/yss;tp=t(ind); % find rise time tr i=1;j=1;k=1;q=1; while y(i)0.1 %确定输出为0.1时的时刻 i=i+1; end t1=t(i); while y(j)0.9 %确定输出为0.9时的时刻 j=j+1; end t2=t(j);tr=t2-t1; 举例: wn=6;kosi=[0.1:0.1:1.0]; %在对数空间上生成从10^(-1)到10^1共100个数据的横坐标 w=logspace(-1,1,100);num=wn^2; for kos=kosi den=[1 2*kos*wn wn^2]; [mag,pha,w]=bode(num,den,w); % 注意mag的单位不是分贝,若需要分贝表示,可以通过20*log10(mag)进行转换 subplot(211); hold on; semilogx(w,mag) % 注意在所绘制的图形窗口会发现x轴并没有取对数分度 subplot(212); hold on; semilogx(w,pha) end subplot(211);grid on title(bode plot);xlabel(frequency(w));ylabel(amplitude) text(6.2,5,kosi=0.1);text(2,0.5,kosi=1.0) subplot(212);grid on xlabel(frequency(w));ylabel(phase deg) text(5,-20,kosi=0.1);text(2,-85,kosi=1.0) num=1; den=[0.5 1 0]; rlocus(num,den); text(0.1,0.1,k=0); t
文档评论(0)