资源描述
MATLAB绘制开环传递函数的Nyquist图与Bode图
电气101 1008140313 邱书恒(主导)
一、 问题重述
1.1. 已知开环传递函数,画Nyquist图
G0s=100.5s+1(1+s)10s+1(s-1)
1.2. 已知开环传递函数,画波特图并计算相位裕度
G0s=2083(s+3)s(s2+20s+625)
二、 求解过程
2.1.画Nyquist图
频率特性G(jω)是频率ω的复变函数,可以在复平面上用一个矢量来表示某一频率ω下的量G(jω)。该矢量的幅值为Gω=G(jω),它的相角为φω=∠[G(jω)]。当ω从0→∞变化时,矢量轨迹就表示频率特性。
按上述办法,吧频率特性在复平面上用极坐标表示的几何图形,即为Nyquist图。
2.2.画Bode图
频率特性的对数坐标图,就是Bode图。
三、 Matlab命令解析
3.1.nyquist命令
nyquist命令可以求得连续系统的奈奎斯特曲线,命令语法如下:
nyquistsys
nyquistsys,w
nyquistsys1,sys2,…,sysN
nyquistsys1,sys2,…sysN,w
re,im,w,sdre,sdim=nyquist(sys)
Nyquist(sys)创建一个动态系统Nyquist图,该模型可以是连续的或离散,和单变量或多输入多输出。
当带有输出变量时,可得到相应的一组数据,不带输出变量时,则绘出奈奎斯特曲线。也可用制定向量w指定所要绘制的曲线范围。
3.2. bode命令
Bode命令可以求得连续系统的伯德图,命令语法如下:
bodesys
bodesys1,…,sysN
bode(sys1,PlotStyle1,…,sysN,PlotStyleN
bode…,w
mag,phase=bodesys,w
mag,phase,wout=bodesys
mag,phase,wout,sdmag,sdphase=bodesys
Bode(sys)创建一个动态系统的频率响应bode图。
当系统是一个多输入,多输出系统时,bode产生的波特图中,每一个I/O组的频率响应都显示一个数组
四、 Matlab程序及结果
4.1.画开环传递函数的Nyquist图
4.1.1.代码及注释
num=10*conv([0.5,1],[1,1]); %分子系数向量
den=conv([10,1],[1,-1]); %分母系数向量
sys=tf(num,den); %创建一个连续传递函数sys
nyquist(sys); %画出sys系统的Nyquist图
hold on
title('Nyquist图’); %标题
grid; %显示极坐标网格
4.1.2.结果与图表
图1-开环传递函数的Nyquist图
4.2.画开环传递函数的Bode图并计算相位裕度
4.2.1.代码及注释
p=bodeoptions; %修改bode图风格
p.grid='on'; %打开网格
p.Xlim={[10,1000]}; %横坐标范围为10~1000rad/s
p.XlimMode={'manual'}; %手动选择横坐标范围
num=2083*[1,3]; %分子系数向量
den=conv([1,0],[1,20,625]); %分母系数向量
sys=tf(num,den); %创建一个连续传递函数sys
[mag,phase,w]=bode(sys,p);
bode(sys,p); %绘制设定风格的bode图
hold on;
title('Bode图'); %修改标题
grid off %关闭网格
[gm,pm,wcg,wcp]=margin(mag,phase,w); %计算相位裕度
margin(sys); %获得新的Bode图
display(pm) %显示相位裕度
display(gm) %显示幅值裕度
4.2.2.结果与图表
图2-开环函数的Bode图
图3-开环函数的幅值裕度和相位裕度
Matlab计算的幅值裕度和相位裕度为:
h=3.5120×103
λ=24.9977°
可见该系统为稳定的。
展开阅读全文