自动课程设计MATLAB仿真 金陵科技学院(4)

2019-03-16 10:57

(10)校正前阶跃响应的动态性能指标: 程序代码如下: >> num=10; den=[0.2 1 0 0]; G1=tf(num,den);

G2=feedback(G1,1,-1); [y,t]=step(G2); C=dcgain(G2); [max_y,k]=max(y); tp=t(k)

%求峰值时间 输出峰值时间代码: tp = 3.5499

求超调量的程序代码:

>> max_overshoot=100*(max_y-C)/C 输出超调量:

max_overshoot = 811.9662 求上升时间的程序代码: > > r1=1;

while(y(r1)<0.1*C) r1=r1+1; end r2=1;

while(y(r2)<0.9*C) r2=r2+1;

16

end

tr=t(r2)-t(r1)

输出上升时间: tr = 0.3622

求调节时间的程序代码: >> s=length(t);

while y(s)>0.98*C&&y(s)<1.02*C s=s-1; end ts=t(s)

输出调节时间: ts = 3.9846

(11)系统校正前的稳态误差:

程序代码如下: >> s=tf('s')

>>G=10/s/s/(0.2*s+1); Gc=feedback(G,1)

输出校正前的闭环传递函数: Transfer function: 10 ------------------ 0.2 s^3 + s^2 + 10

求稳态误差的程序代码: >> ess=1-dcgain(Gc) 输出稳态误差: ess = 0

(12)校正后阶跃响应的动态性能指标: 程序代码如下:

>> num=conv(10,conv([1.56 1],[0.1802 1]));

den=conv([1 0],conv([1 0],conv([0.00966 1],conv([0.03284 1],[0.2 1])))); >> G1=tf(num,den); G2=feedback(G1,1,-1); [y,t]=step(G2); C=dcgain(G2); [max_y,k]=max(y);

tp=t(k) %求峰值时间的程序代码 输出峰值时间的程序代码:

17

tp = 0.2182

求超调量的程序代码:

>> max_overshoot=100*(max_y-C)/C 输出超调量:

max_overshoot = 15.5918 求上升时间的程序代码: >> r1=1;

while(y(r1)<0.1*C) r1=r1+1; end r2=1;

while(y(r2)<0.9*C) r2=r2+1; end

tr=t(r2)-t(r1) 输出上升时间: tr = 0.0818

求调节时间的程序代码: >> s=length(t);

while y(s)>0.98*C&&y(s)<1.02*C s=s-1; end ts=t(s)

输出调节时间: ts = 1.2000

(12)校正后的系统稳态误差: 程序代码如下: >> s=tf('s')

>>G=(10*(0.1802*s+1)*(1.56*s+1))/s/(0.2*s+1)/(0.009666*s+1)/(0.03284*s+1); Gc=feedback(G,1)

输出校正后的闭环传递函数: Transfer function:

2.811 s^2 + 17.4 s + 10 -------------------------------------------------------

6.349e-005 s^4 + 0.008819 s^3 + 3.054 s^2 + 18.4 s + 10 求稳态误差的程序代码如下: >> ess=1-dcgain(Gc) 输出稳态误差: ess = 0

比较求出的系统校正前与校正后的阶跃响应的动态性能指标σ%、tr、tp、ts以及稳态误差的值,分析其变化:

18

从上述程序计算得的校正前后的动态系能指标可看出校前的峰值时间tp、超调量%σ、上升时间tr、调节时间ts等均过大,尤其是超调量%σ高达811.966严重超标,可看出系统校正前系统是相当不稳定的。而经过两级超前网络校正后的系统动态性能指标中可看出,校正后的峰值时间tp、超调量%σ、上升时间tr、调节时间ts等均变小了。上升时间tr、峰值时间tp变小了说明系统响应的初始阶段变快了。调节时间ts变小了,说明系统过度过程持续的时间变小了,系统的快速性变好了。超调量%σ变小了,反应出系统响应过程的平稳性变好了。

(13)求校正前的根轨迹 程序代码如下:

>> num=10;den=[0.2 1 0 0]; G0=tf(num,den); rlocus(G0)

校正前的根轨迹图:

(14)求校正前分离点及在该点的增益:

程序代码如下: >> num=10; den=[0.2 1 0 0]; rlocus(num,den);

>> [k,p]=rlocfind(num,den)

19

Select a point in the graphics window %此为上述程序输入matlab软件后自动生成的提醒

手动选择分离点后程序输出的结果 selected_point = 0.0118 - 0.0311i k = 1.1075e-004

p = -5.0002 0.0001 + 0.0333i 0.0001 - 0.0333i

由上述程序可知,当我将十字光标点在图示中的分离点时,程序会自动生成该点的坐标,以及该点出的相应的增益K*。在校正前的根轨迹中选中分离点,程序中输出该点坐标(近似于分离点的坐标)为(0.0118,-0.0311i),该点的增益为K*=1.1075e-004。

(15)校正后的根轨迹: 程序代码如下:

>> num=conv(10,conv([1.56 1],[0.1802 1]));

den=conv([1 0],conv([1 0],conv([0.00966 1],conv([0.03284 1],[0.2 1])))); rlocus(num,den);

>> [k,p]=rlocfind(num,den)

Select a point in the graphics window %此为上述程序输入matlab软件后自动生成的提醒

手动选择第一个分离点后程序输出的结果: selected_point = -12.0867 + 0.0621i k = 0.5244 p = -106.3641 -12.3701 -12.1002 -7.4381 -0.6979

用于选择第二个分离点的程序代码: >> [k,p]=rlocfind(num,den)

Select a point in the graphics window

手动选择第二个分离点后程序输出的结果: selected_point = -8.4469 + 0.0621i k = 0.5134 p = -106.3081

20


自动课程设计MATLAB仿真 金陵科技学院(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:全国中小学教师教育技术能力水平考试试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: