用用 MATLAB MATLAB 绘制绘制 Nyquist Nyquist 图图 MATLAB MATLAB 命令命令 nyquist nyquist 命令可以求得连续系统的奈奎斯特命令可以求得连续系统的奈奎斯特曲线。曲线。命令格式: 命令格式: [ re [ re , , im im , , w ] = w ] = nyquist nyquist ( ( num num , , den den ) ) [ re [ re , , im im , , w ] = w ] = nyquist nyquist ( ( num num , , den den , ,w w) ) 当带有输出变量时,可得到相应的一组数当带有输出变量时,可得到相应的一组数据,不带输出变量时,则绘出奈奎斯特据,不带输出变量时,则绘出奈奎斯特曲线。也可用指定频率向量曲线。也可用指定频率向量 w w指定所要绘指定所要绘制的曲线范围。制的曲线范围。 2017-2-20 2 2017-2-20 3 (a) z=1,p=2 (a) z=1,p=2 n=[0 0 1 1] m=[1 2 0 0] sys=tf(n,m) nyquist(sys) 2017-2-20 4 (b) z=2,p=1 (b) z=2,p=1 2017-2-20 5幅值裕度和相位裕度幅值裕度和相位裕度例三十二: 例三十二: 系统开环传递函数为系统开环传递函数为绘制绘制 k = 10 k = 10 , , 26 26 , , 50 50 时的带单位圆的奈奎斯特图, 时的带单位圆的奈奎斯特图, 单位圆的绘制是通过绘单位圆的绘制是通过绘绘绘t t jw jw的实部与虚部的轨迹而获得。的实部与虚部的轨迹而获得。 2 ( ) ( 2)( 2 5) k G s s s s ?? ??幅值裕度和相位裕度幅值裕度和相位裕度 n = 10; % n = 10; % 取取 k = 10 k = 10 时的值时的值 d = conv([1 2],[1 2 5]); d = conv([1 2],[1 2 5]); w = [ 0::10 ]; % w = [ 0::10 ]; % 确定频率范围确定频率范围 e = e = exp(j exp(j * * w); % w); % 给出指数函数给出指数函数 ejw ejw r = r = real(e real(e ); % ); % 求指数函数的实部,结果不显示求指数函数的实部,结果不显示 i = i = imag(e imag(e ); % ); % 求函数求函数 ejw ejw 的虚部,结果不显示的虚部,结果不显示[ [ a,b a,b ] = ] = nyquist(n,d,w nyquist(n,d,w ); % ); % 求指
用MATLAB绘制Nyquist图 来自淘豆网www.taodocs.com转载请标明出处.