【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《实验三四》,欢迎阅读!

实验三 控制系统的根轨迹分析法
一、实验目的:
通过实验熟悉matlab中与根轨迹分析相关的函数,借助这些函数对控制系统进行根轨迹分析,观察系统的零极点分布,根据根轨迹判断系统的稳定性,寻找特定闭环极点。
二、实验内容:
1、常用Matlab控制系统工具箱提供的根轨迹分析函数 (1)pzmap( )——绘制零极点函数 ①调用格式:
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时复根位置的矩阵R,R有length(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,范围从0到1,自然振荡角频率的间隔为1rad/s,范围从1到10。绘制栅格线之前,当前窗口必须有连续时间系统的根轨迹或零极点图,或者该函数必须与函数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=[];
%a从2变化到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值。 (2)K取何值时,系统响应无振荡?
(3)分析系统主导极点具有0.5的阻尼比时K及其闭环极点的取值。
三、思考与实验报告要求
1、如何在matlab中寻找特定的阻尼比下K值和全部闭环特征根。
2、设定一高阶不稳定系统,分析如何让系统稳定并画出稳定系统的根轨迹。 3、记录实验中遇到的问题。
实验四 控制系统的频域分析法
一、实验目的
3
本文来源:https://www.wddqxz.cn/b17541d6a76e58fafbb00350.html