实验三四

时间:2022-05-23 14:36:02 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。


实验三 控制系统的根轨迹分析法

一、实验目的:

通过实验熟悉matlab中与根轨迹分析相关的函数,借助这些函数对控制系统进行根轨迹分析,观察系统的零极点分布,根据根轨迹判断系统的稳定性,寻找特定闭环极点。

二、实验内容:

1、常用Matlab控制系统工具箱提供的根轨迹分析函数 1pzmap( )——绘制零极点函数 ①调用格式:

pzmap (sys)

pzmap(sys1,sys2,………) [p,z]= pzmap (sys) ②使用说明:

pzmap(sys)函数可绘制线性定常系统的零极点图,对于SISO系统而言就是绘制传递函数的零极点。

pzmap(sys1,sys2,……….)函数可在同一复平面绘制不同系统的零极点图,为区别起见可用不同颜色表示,如pzmap(sys1,r,sys2,b’………)

[p,z]= pzmap (sys),返回零极点数据,不绘制零极点图。 2)绘制根轨迹的函数rlocus( ) ①调用格式

rlocus (sys) rlocus(sys,k)

rlocus (sys1,sys2,………)

[r,k]=rlocus (sys)r=rlocus(sys,k) ②使用说明

rlocus计算并绘制SISO系统的根轨迹。适用于连续时间系统和离散时间系统。 rlocus(sys,k)绘制增益为k时的闭环极点。

rlocus (sys1,sys2,………) 在同一个复平面中画出多个SISO系统的根轨迹,为区分系统的根轨迹也可以用不同颜色来区别,如:

rlocus (sys1,r,sys2,b:,sys3,gx)

[r,k]= rlocus (sys)r=rlocus(sys,k)返回增益为k时复根位置的矩阵RRlength(k),其第j行列出的是增益K(j)时的闭环根。

3)计算给定一组根的根轨迹增益的函数rlocfind( ) ①调用格式

[k,poles]=rlocfind(sys) [k,poles]=rlocfind(sys,p) ②使用说明

rlocfind( )函数可计算出与根轨迹上极点对应的根轨迹增益。适用于连续时间系统和离散时间系统。

[k,poles]=rlocfind(sys)执行后,在根轨迹图形窗口显示十字形光标,当用户在根轨迹上选择一点时,其相应的增益由k记录,与增益相关的所有极点记录于poles中。

[k,poles]=rlocfind(sys,p)函数可对指定根计算对应的增益与根矢量。 4)在连续系统根轨迹图上加等阻尼线和等自然振荡线的函数sgrid ①调用格式

sgrid

sgrid(z,wn) ②使用说明

sgrid( )函数命令可在连续系统的根轨迹或零极点图上绘制出栅格线,栅格线由等阻尼系



1




数与自然振荡角频率构成。阻尼线间隔为0.1范围从01自然振荡角频率的间隔为1rad/s范围从110。绘制栅格线之前,当前窗口必须有连续时间系统的根轨迹或零极点图,或者该函数必须与函数pzmap( )rlocus( )一起使用。

sgrid(z,wn)函数可以指定阻尼系数z与自然振荡角频率wn 2、仿真分析应用(一般根轨迹程序仿真)

1)系统的传递函数为:

G(s)



2.5s(6)

(s22s3)(s5)作出零极点图。程序如下:

num=[2.5 15];

den=conv([1,2,3],[1,5]); sys=tf(num,den) pzmap(sys)%输出零极点 [p,z]=pzmap(sys)title('零极点图')

2)单位负反馈系统的开环传递函数为:

G(s)

K

(s1)(0.5s1)(4s1),绘制闭环根轨迹。

程序代码如下:

num=[1];

den=conv([1,1],conv([0.5,1],[4,1])); sys=tf(num,den) %绘制根轨迹图 rlocus(sys) [p,z]=pzmap(sys) title('根轨迹图')

3)已知某单位负反馈系统开环传递函数为:

G(s)

K(s5)

(s1)(s3)(s12),绘制闭环根

轨迹并在根轨迹上任选一点计算该点增益k机所有极点的位置。代码如下: num=[1,5];

den=conv([1,1],conv([1,3],[1,12])); sys=tf(num,den) %绘制根轨迹图 rlocus(sys)

[k,poles]=rlocfind(sys)

%计算用户所选定点处的增益和其他闭环极点

title('根轨迹图')

4)系统的闭环传递函数为:

2




2s25s1G(s)2

s2s3,做出系统带栅格线的根轨迹图。程序代码如下:

num=[2,5,1]; den=[1,2,3]; sys=tf(num,den) %绘制根轨迹图 rlocus(sys) %添加栅格线 sgrid

title('带栅格线的根轨迹图')

5)参数根轨迹

G(s)

单位负反馈的开环传递函数为:代码如下:

den=conv([1,1],conv([1,3],[1,12])); k=5

%定义数组存储结果 clpoles=[]; param=[];

%a2变化到10 for alpha=2:10

num=[0 0 k k*alpha]; clpoly=num+den;

5(sa)

(s1)(s3)(s12),绘制参数a的根轨迹,

%计算闭环极点 clp=roots(clpoly); clpoles=[clpoles;clp']; param=[param;alpha]; end

disp([param,clpoles]) %打印a和极点表格 plot(clpoles,'*')

axis equal; %调整绘制区域 axis([-4 0 -2 2])

3、系统分析 已知单位负反馈开环传递函数为G(s)

K



s(s1)(0.5s1)



1)作出系统闭环根轨迹,分析其稳定性,找出其临界稳定K值。 2K取何值时,系统响应无振荡?

3)分析系统主导极点具有0.5的阻尼比时K及其闭环极点的取值。

三、思考与实验报告要求

1、如何在matlab中寻找特定的阻尼比下K值和全部闭环特征根。

2、设定一高阶不稳定系统,分析如何让系统稳定并画出稳定系统的根轨迹。 3、记录实验中遇到的问题。

实验四 控制系统的频域分析法

一、实验目的



3


本文来源:https://www.wddqw.com/doc/b17541d6a76e58fafbb00350.html