目的是找到满足max_overshoot为0.43时所对应的K值,使用matlab R2016a
for K=1 ; %定义K初值
Gs =K /(s*s*s+10*s*s+25*s+K); % 构造 Gs
t = 0:0.05:500; % 设置横轴范围和步长
[y,x,t] = step(Gs,t); % 根据步长逐步响应传递函数
[ymax,tp] = max(y(1:100)); % 获取最大值的点的数据
ystable = dcgain(Gs);
max_overshoot = (ymax-ystable)/ystable % 超调量
if max_overshoot <= 0.435 && max_overshoot >= 0.425;
disp (K);
end
K=K+1;
end