📄 tfparse.m
字号:
function []=TFparse(sys)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%时域特性分析(开、闭环系统)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure, step(sys,1)
[y,t]=step(sys);
fprintf('稳态误差:\n');
es=1-y;
l=length(es);
ess=abs(es(l))
[mp,tf]=max(y);
cs=length(t);
yss=y(cs);
fprintf('超调量(1/100):\n');
sigma=100*(mp-yss)/yss
fprintf('峰值时间(s):\n');
tp=t(tf)
i=cs+1;
n=0;
while n==0,
i=i-1;
if i==1,
n=1;
elseif y(i)>1.05*yss,
n=1;
end
end
t1=t(i);
j=cs+1;
n=0;
while n==0,
j=j-1;
if j==1,
n=1;
elseif y(j)<0.95*yss,
n=1;
end
end
t2=t(j);
if t2<tp
if t1>t2
fprintf('调节时间(s):\n');
ts=t1
end
elseif t2>tp
if t2<t1
fprintf('调节时间(s):\n');
ts=t2
else
fprintf('调节时间(s):\n');
ts=t1
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%频域特性分析(开、闭环系统)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp('按任一键分析传函的频域特性!')
pause
[mag,phase,w]=bode(sys);
figure, margin(mag,phase,w)
l=length(mag(1,1,:));
for k=1:l
if 20*log10(mag(1,1,1))-20*log10(mag(1,1,k))>3
fprintf('频带上限(Hz):\n');
wb=w(k)/(2*pi)
break;
end
end
[gm,pm,wg,wc]=margin(mag,phase,w);
fprintf('剪切频率(Hz):\n');
wc=wc/(2*pi)
fprintf('-pi穿越频率(Hz):\n');
wg=wg/(2*pi)
fprintf('相角稳定裕度(度):\n');
pm
fprintf('幅值稳定裕度(dB):\n');
Lh=20*log10(gm)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%根轨迹,零极点分析(开环系统)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp('按任一键分析传函的根轨迹!')
pause
figure,pzmap(sys) %绘制零极点图
[p,z]=pzmap(sys)
figure,rlocus(sys) %绘制根轨迹
%[k,p]=rlocfind(sys) %求根迹上的增益和极点
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -