⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ralag.m

📁 华东理工大学自动化系《控制系统分析、设计和应用》教材配套程序实例,有关说明: 1. 安装MATLAB软件。安装时
💻 M
字号:
function [Gc,kc]=ralag(G,zeta,wn,err)
% 基于根轨迹的滞后校正解析设计法根据所需闭环性能计算校正器的传递函数
% 对象为G,可采用传递函数、零极点和状态空间模型
% zeta是阻尼比,wn是自然频率,err是误差
% Gc是校正器传递函数,kc是校正器增益

% Copyright 2000-2001 ECUST. 
%   $Revision: 1.1 $  $Date: 2001/08/03 16:48:42 $

if nargin<4,ew=4;end;if nargin<3,wn=1.5;end;if nargin<2,zeta=0.707;end;
G=tf(G);[r,k]=rlocus(G);[num,den]=ord2(wn,zeta);s=roots(den);s1=s(1);
za=zeta/sqrt(1-zeta^2);ri=r(1,find(imag(r(1,:))>0));
ra=imag(ri)./real(ri);KK=spline(ra,k(find(imag(r(1,:))>0)),1/za);
syms x Gn Gd;Gn=poly2sym(G.num{1});Gd=poly2sym(G.den{1});ess=limit(Gn*KK/Gd*x);
kc=round(100/sym2poly(ess)/err);ng=G.num{1};dg=G.den{1};
ngv=polyval(ng,s1);dgv=polyval(dg,s1);g=ngv/dgv;
theta_G=angle(g);theta_s=angle(s1);MG=abs(g);Ms=abs(s1);
Tz=(sin(theta_s)-kc*MG*sin(theta_G-theta_s))/(kc*MG*Ms*sin(theta_G));
Tp=-(kc*MG*sin(theta_s)+sin(theta_G+theta_s))/(Ms*sin(theta_G));
Gc=tf([Tz 1],[Tp 1]);GGc=G*Gc*kc;
step(feedback(GGc,1));hold on;step(feedback(G*kc,1));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -