[tt,x,s]=sim( 'smodel' ,Tspan,opts); % 对 SIMULINK 模型 smodel 仿真 <7>
ss=s(end); % 优化过程中产生的 ITAE 值。 <8>
[exm9652_1.m]
%exm9652_1.m 用于 ITAE 标准型系数的寻优
clear
global a ss
a0=[3.3 6.6 8.6 7.5 3.9]; % 被优化系数的初值 <4>
Tspan=(0:500)/10; % 计算 ITAE 值用的时间采样向量 <5>
options.TolFun=0.0001; % 设定优化目标函数的精度
options.TolX=0.0001; % 设定被优化参数的精度
a=fminunc( 'itae' ,a0,options); % 用拟牛顿法寻优 <8>
coeff=[1,a,1] % 输出完整的标准型系数 <9>
ss % 输出相应的 ITAE 性能值
(4)在指令窗中运行以下指令并得到结果
exm9652_1
coeff =
1.0000 2.1516 5.6284 6.9323 6.7917 3.7394 1.0000
ss =
8.3338
(5) ITAE 标准传递函数“经典”系数和修正系数的阶跃响应比较
old=tf(1,[1 3.25 6.60 8.60 7.45 3.95 1]);
new=tf(1,coeff);
[yold,told]=step(old,50);
[ynew,tnew]=step(new,50);
plot(told,yold,'b','LineWidth',1)
axis([3,18,0.95,1.05])
hold on,plot(tnew,ynew,'r','LineWidth',3),hold off
legend('Old','New',4),grid on

图 9.6.5 . 2-1-1 新老标准型的阶跃响应局部放大比较图
|