自动控制原理和信号与系统中,利用MATLAB求单位阶跃响应,并分析阻尼比和自然振荡角频率对暂态性能的影响。

以夏德钤《自动控制理论》第4版中的例题为切入点:

代码如下:

w = 1; %Wn的取值
%w = 5;%Wn的另一个取值
num = [w^2];
p = [0 0.2 0.5 0.707 1.0 1.25]; %ζ的取值
den1 = [1 2*p(1)*w w^2 ];
den2 = [1 2*p(2)*w w^2 ];
den3 = [1 2*p(3)*w w^2 ];
den4 = [1 2*p(4)*w w^2 ];
den5 = [1 2*p(5)*w w^2 ];
den6 = [1 2*p(6)*w w^2 ];
sys1=tf(num, den1);
sys2=tf(num, den2);
sys3=tf(num, den3);
sys4=tf(num, den4);
sys5=tf(num, den5);
sys6=tf(num, den6);
t = 20/w;%限定t时间范围,以获得合适的图像。
step(sys1,sys2,sys3,sys4,sys5,sys6,t);
title('ω=1');
%title('ω=5');
legend('ζ=0','ζ=0.2','ζ=0.5','ζ=0.707','ζ=1.0','ζ=1.25');

效果如图:

需要切换w时,将第一行的1改为5或其他数字即可。