MATLAB系统模型建立和动态特性分析实验(2)

2019-04-21 19:39

2.系统的串联

series命令实现两个系统的串联,示意图如下: u1 y u2 y2

10s?1 G2(s)= s?1s?5>> num1=10; >> den1=[1,1];

>> G1=tf(num1,den1); >> num2=[1,1]; >> den2=[1,5];

>> G2=tf(num2,den2); >> G=series(G1,G2) 执行结果为: Transfer function: 10 s + 10 ------------- s^2 + 6 s + 5

3.系统的反馈

feedback命令实现两个系统的反馈连接,示意图如下: G1(s)?G1(s) G2(s)

u1 + G ( s ) y1 ± y2 u2

G(s)

1?G(s)H(s)命令格式:

Sys=feedback(sys1,sys2,sign)

Sign为反馈极性,若为正反馈其值为1,若为负反馈其值为-1 缺省时默认为负(即sign = -1)。 例5设有下面两个系统:

s?11 g2(s)? g1(s)?2s?2s?3s?10现要将它们负反馈连接,求传递函数 执行下面程序: >> n1=[1 1]; >> d1=[1 2 3]; >> G1=tf(n1,d1); >> n2=[1]; >> d2=[1 10]; >> H2=tf(n2,d2);

>> sys=feedback(G1,H2) 运行结果:

sys?H(s) Transfer function: s^2 + 11 s + 10 ------------------------ s^3 + 12 s^2 + 24 s + 31

例6 已知系统如下

s?2 2s?2s?3求该系统闭环后的传递函数(负反馈)。 输入:

>> n1=[1 2];

>> d1=[1 2 3];

>> [n,d]=cloop(n1,d1) 运行结果: n =

0 1 2 d =

1 3 5

即:闭环后系统的传递函数为

s?2 g1(s)?2

s?3s?55.生成二阶系统

ord2命令在给定?n,ξ下可以生成相应的二阶系统,即:

1g1(s)?2 2s?2??ns??n命令格式:

[ n,d] = ord2(Wn,z)

其中: z = ξ Wn = ?n

g1(s)?四、实验步骤

1.运行Matlab软件;

2.在其命令窗口中输入响应的命令或程序; 3.观察并记录。 五、实验习题

已知系统传递函数为:

12s3?24s2?12s?20 G(s)?4322s?4s?6s?2s?2求上述传递函数的零极点的表达形式。

实验二 控制系统的时域分析 一、实验目的:

通过上机实验,掌握运用MATLAB常用命令对系统进行时域分析的基本方法。 二、实验仪器

计算机 三、实验内容

2.1单位阶跃响应的求法

step命令可以求得连续系统的单位阶跃响应,当不带输出变量时,可在当前窗口中绘出单位阶跃响应曲线。带有输出变时时则输出一组数据。

命令格式: step(n,d,t);或 [ y,x,t ] = step(n,d,t);

其中t是事先确定的时间矢量,当t缺省时则时间由函数自行决定。

如果需要将输出结果返回到MATLAB工作空间,则采用以下调用格式:

c=step(G)

此时,屏幕上不会显示响应曲线,必须利用plot( )命令去查看响应曲线。Plot可以根据两个或多个给定的矢量绘制二维图形。 例1 已知传递函数为

利用以下MALAB命令可得阶跃响应曲线 num=[0,0,25]; den=[1,4,25]; step(num,den) grid % 绘制网格线

Step Response1.41.21Amplitude0.80.60.40.2000.511.5Time (sec)22.53

还可用下面的语句来得出阶跃响应曲线: G=tf([0,0,25],[1,4,25]);

t=0:0.1:5; %从0到5每隔0.1取一个值 c=step(G , t); %动态响应的幅值赋给变量c plot(t,c) % 绘二维图形,横坐标取t,纵坐标取c Css=dcgain(G) %求取稳态值

系统显示的图形类似于上一个例子,在命令窗口中显示了如下结果: Css= 1

2.2 求阶跃响应的性能指标 方法一:游动鼠标法

如上例,在程序运行完毕后,用鼠标左键单击时域响应曲线任意一点,系统会自动跳出一个小方框,小方框显示了这一点的横坐标(时间)和纵坐标(幅值)。按住鼠标左键在曲线上移动,可找到曲线幅值最大的一点,即曲线最大峰值,此

时小方框显示的时间就是此二阶系统的峰值时间,根据观测到的稳态值和峰值可计算出系统的超调量。系统的上升时间和稳态响应时间可以此类推。

注:它不适用于用plot( )命令画出的图形。 方法二:用编程方式求取时域响应的各项性能指标

通过前面的学习,我们已经可以用阶跃响应函数step( ) 获得系统输出量,若将输出量返回到变量y中,可调用如下格式:

[y,t]=step(G)

对返回的这一对y和t变量的值进行计算,可得到时域性能指标。 ? 峰值时间( timetopeak )可由以下命令获得:

[Y,k]=max(y); timetopeak=t(k)

应用取最大值函数max( )求出y的峰值及相应的时间,并存于变量Y和k中。然后在变量t中取出峰值时间,并将它赋给变量timetopeak。

? 最大(百分比)超调量(percentovershoot)可由以下命令获得:

C=dcgain(G); [Y,k]=max(y);

percentovershoot=100*(Y-C)/C

dcgain( )函数用于求取系统的终值,将终值赋给变量C,然后依据超调量的定义,由Y和C计算出百分比超调量。

上升时间(risetime)可利用MATLAB中的循环控制语句编制M文件来获得。 要求出上升时间,可用while语句编写以下程序得到:

C=dcgain(G); n =1 while y(n)


MATLAB系统模型建立和动态特性分析实验(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:计算机体系结构试题汇总资料

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

马上注册会员

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