%%
% 借助MATLAB进行控制系统的频域响应分析
% 1.频域相应的计算方法
% Gw=polyval(num,sqrt(-1)*w./polyval(den,sqrt(-1)*w)); w频率向量
clear;clc
num=[0,1,0,5];
den=[4,2,1,0];
w=[2];
Gw=polyval(num,sqrt(-1)*w)./polyval(den,sqrt(-1)*w)
% 2.频域响应曲线的绘制
% bode-频率响应伯德图;[m,p]=bode(num,den,w) m幅值向量,n相位向量,w频率点向量
% 最好用logspace()函数构成。只绘图则bode(num,den,w)或bode(num,den)
% margin-幅值裕量与相位裕量;[Gm,Pm,wcg,wcp]=margin(num,den)
% Gm幅值裕量;Pm相位裕量;wcg,wcp为其对应的频率值
% nyquist-奈奎斯特图;nichols-尼柯尔斯图;freqresp-频率响应数据;pzmap-零极点图
% eg.绘制系统G(s)=(10*(s+3))/(s*(s+2)*(s^2+s+2))的伯德图
num=[10,30];
den1=[1,2,0];
den2=[1,1,2];
den=conv(den1,den2) %卷积和多项式乘法
w=logspace(-2,3,100)%y = logspace(a,b,n) 在10的幂10^a和10^b(10的N次幂)之间生成n个点。
bode(num,den,w)
grid
[m,p]=bode(num,den,w)
nyquist(num,den,w) %奈奎斯特图
nichols(num,den,w) %尼柯尔斯图
freqresp(num,den,w) %频率响应数据
pzmap(num,den) %零极点图,不能有w
[Gm,Pm,wcg,wcp]=margin(num,den)
%%
% 借助MATLAB进行控制系统的频域响应分析
% 1.频域相应的计算方法
% Gw=polyval(num,sqrt(-1)*w./polyval(den,sqrt(-1)*w)); w频率向量
clear;clc
num=[0,1,0,5];
den=[4,2,1,0];
w=[2];
Gw=polyval(num,sqrt(-1)*w)./polyval(den,sqrt(-1)*w)
% 2.频域响应曲线的绘制
% bode-频率响应伯德图;[m,p]=bode(num,den,w) m幅值向量,n相位向量,w频率点向量
% 最好用logspace()函数构成。只绘图则bode(num,den,w)或bode(num,den)
% margin-幅值裕量与相位裕量;[Gm,Pm,wcg,wcp]=margin(num,den)
% Gm幅值裕量;Pm相位裕量;wcg,wcp为其对应的频率值
% nyquist-奈奎斯特图;nichols-尼柯尔斯图;freqresp-频率响应数据;pzmap-零极点图
% eg.绘制系统G(s)=(10*(s+3))/(s*(s+2)*(s^2+s+2))的伯德图
num=[10,30];
den1=[1,2,0];
den2=[1,1,2];
den=conv(den1,den2) %卷积和多项式乘法
w=logspace(-2,3,100)%y = logspace(a,b,n) 在10的幂10^a和10^b(10的N次幂)之间生成n个点。
bode(num,den,w)
grid
[m,p]=bode(num,den,w)
nyquist(num,den,w) %奈奎斯特图
nichols(num,den,w) %尼柯尔斯图
freqresp(num,den,w) %频率响应数据
pzmap(num,den) %零极点图,不能有w
[Gm,Pm,wcg,wcp]=margin(num,den)