📄 opt_app.m
字号:
function G_r=opt_app(G_Sys,nn,nd,key,G0)
G_Sys=tf(G_Sys);
num=G_Sys.num{1}; den=G_Sys.den{1};
Td=G_Sys.InputDelay; G_Sys.InputDelay=0;
if nargin<5,
n0=[1,1];
for i=1:nd-2, n0=conv(n0,[1,1]); end
G0=tf(n0,conv([1,1],n0));
end
beta=G0.num{1}(nd+1-nn:nd+1);
alph=G0.den{1}; Tau=1.5*Td;
x=[beta(1:nn),alph(2:nd+1)];
if abs(Tau)<1e-5, Tau=0.5; end
if key==1, x=[x,Tau]; end
dc=dcgain(G_Sys);
y=opt_fun(x,G_Sys,key,nn,nd,dc);
x=fminsearch('opt_fun',x,[],G_Sys,key,nn,nd,dc);
alph=[1,x(nn+1:nn+nd)]; beta=x(1:nn+1);
if key==0, Td=0; end
beta(nn+1)=alph(end)*dc;
if key==1, Tau=x(end)+Td;
else, Tau=0; end
G_r=tf(beta,alph,'InputDelay',Tau);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -