搜索
您的当前位置:首页正文

利用matlab由开环传递函数求闭环传递函数并求其单位冲击和阶跃响应

来源:小奈知识网
利用matlab由开环传递函数求闭环传递函数并求其单位冲击和阶跃响应

例:设有一个系统的开环传递函数如下函数,

并绘制输出阶跃响应曲线和脉冲响应曲线

解:

编程(见:\\work\\CT_tch\\resp_2_) clearall; closeall;

%%%%%%%%%%%%%%

a0=[0000];%a0:开环传递函数分子多项式系数 b1=[10];%s b2=[1];%

b3=[1];%s2++1)

b0=conv(b1,conv(b2,b3));%b0:开环传递函数分母多项式系数 %%%%闭环传递函数

aa=a0;%aa:闭环传递函数分子多项式系数 bb=b0+a0;%bb:闭环传递函数分子多项式系数 disp('SystemClosedLoopTransferFunctionis:') aa bb

%%%%计算:阶跃响应 t=0::20

y=step(aa,bb,t);%阶跃响应 %%%%绘制:阶跃响应 figure(1) plot(t,y);

title('阶跃响应');%标题:阶跃响应

xlabel('时间/s');%横坐标 ylabel('幅值');%纵坐标 grid;%í

%%%%计算:脉冲响应 figure(2)

yy=impulse(aa,bb,t);%标题:脉冲响应 plot(t,yy);

title('脉冲响应'); xlabel('时间/s'); ylabel('幅值'); grid;%网格

%%%%绘制:脉冲响应

wt=logspace(-1,1);%对数空间(¨,10)

[mag,phase]=bode(a0,b0,wt);%计算:Bode中的幅值和相位 [Gm,Pm,Wcg,Wcm]=margin(a0,b0);%计算:稳定裕度 disp('SystemGainMarginanditsassociatedfrequencyare:'); Gm%模值稳定裕度

Wcg%幅值穿越频率,剪切频率,1/s

disp('SystemPhaseMarginanditsassociatedfrequencyare:'); Pm%相位稳定裕度

Wcm%-π相位穿越频率,1/s %%%%绘制:Bode图 figure(3)

Subplot(211);%对数幅值-频率图

amp=20*log10(mag);%20*log(mag),dB semilogx(wt,amp);

title('对数幅值-频率图'); xlabel('频率/rad'); ylabel('幅值/dB'); grid;

subplot(212);%相位-频率图 semilogx(wt,phase); title('相位-频率图'); xlabel('频率/rad'); ylabel('相位/degree'); grid;

运行该程序可得系统的单位阶跃和脉冲响应曲线如下,

图1 系统的单位阶跃响应曲线

图2 系统的脉冲响应曲线

系统的Bode图如下,

图3 系统的Bode图

因篇幅问题不能全部显示,请点此查看更多更全内容

Top