📄 bpannobj.asv
字号:
function tobj=annobj(twrh,twho,popsize,lchrom,differ,gs)
global rnum hnum onum rin yout G time
G=100;
ts=0.01;
tobj=0;
s=0;
%sys=;
dsys=c2d(gs,ts,'z');
[num,den]=tfdata(dsys,'v');
tu=0;
r=1.0;
e=1.0;
ce=0;se=e;
u_1=0.0;u_2=0.0;u_3=0.0;
y_1=0.0;y_2=0.0;y_3=0.0;
hr=[1,0,0];
hy=[0,0,0];
for tt=1:1:G
rin(tt)=r;
time(tt)=tt;
u_2=u_1;u_3=u_2;
y_2=y_1;y_3=y_2;
for i=1:1:hnum
hy(1)=logsig(twrh(1,1)*r+twrh(2,1)*y_1)-0.5;
u_1=hy*twho;
if u_1>=10
u_1=10;
end
if u_1<=-10
u_1=-10;
end
eval(differ);
y_1=yout(tt);
e=rin(tt)-yout(tt);
tobj=tobj+0.999*abs(e)+0.001*u_1^2;
if s==0
if yout(tt)>0.95&yout(tt)<1.05
tu=tt;
s=1;
end
end
if tt>1
erry=yout(tt)-yout(tt-1);
if erry<0
tobj=tobj+abs(erry);
end
end
end
tobj=tobj+1.0000e-006+2*tu;
tobj=100/tobj;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -