资源描述
MATLAB各种图形
结论
1对稳定性影响
增加零点不改变系统的稳定性;
增加极点改变系统的稳定性,不同的阻尼比下即使增加的是平面左侧的零点系统也有可能不稳定。
2对暂态性能的影响
增加的零点离虚轴越近,对系统暂态性影响越大,零点离虚轴越远,对系统的影响越小。
分析表1可以发现,增加零点会对系统的超调量、调节时间、谐振峰值和带宽产生影响,且增加的零点越大,对系统的暂态性能影响越小。当a增加到100时,系统的各项暂态参数均接近于原系统的参数。增加的极点越靠近虚轴,其对应系统的带宽越小。同时还可以发现,时域中的超调量和频域中的谐振峰值在数值上亦存在一定的关系。具体表现为超调量减小时,谐振峰值也随之减小。
增加的极点离虚轴越近,对系统暂态性影响越大,极点离虚轴越远,对系统的影响越小。
① 增加零点,会使系统的超调量增大,谐振峰值增大,带宽增加。
② 增加极点,会使系统的超调量减小,谐振峰值减小,带宽减小。
③ 增加的零极点离虚轴越近,对系统暂态性影响越大;零极点离虚轴越远,对系统的暂态性影响越小。
3 对稳态性能的影响
①当增加的零极点在s的左半平面时,不改变系统的类型,使系统能跟踪的信号类别不变,但跟踪精度会有差别。
②当增加的零点在s的虚轴上时,系统的型别降低,跟踪不同输入信号的能力下降。
③当增加的极点在s的虚轴上时,系统的型别升高,跟踪不同输入信号的能力增强。
1、绘制G1(s)的根轨迹曲线(M2_1.m)
%画G1(s)的根轨迹曲线
n=[1,0]; %分子
d=[1,1,2]; %分母
figure1 = figure('Color',[1 1 1]); %将图形背景改为白色
rlocus(n,d); %画G1(s)根轨迹曲线
title('G1(s)的根轨迹'); %标题说明
2、绘制G1(s)的奈奎斯特曲线(M2_2.m)
%画G1(s)的奈奎斯特曲线
figure1 = figure('Color',[1 1 1]); %将图形背景改为白色
for a=1:10 %a取1,2,3……10,时,画出对应的奈奎斯特曲线
G=tf([1/a,1],[1,1,1]);
nyquist(G);
hold on
end
title('G1(s)的奈奎斯特曲线'); %标题说明
3、绘制G2(s)的根轨迹曲线(M2_3.m)
%画G2(s)的根轨迹曲线
n=[1,1,1,0] ; %分子
d=[1,1,2] ; %分母
figure1 = figure('Color',[1 1 1]); %将图形背景改为白色
g2=tf(n,d) %求G2(s)的传递函数
rlocus(g2); %画G2(s)根轨迹曲线
title('G2(s)的根轨迹'); %标题说明
4、绘制ξ=0.1,0.3,1,1.5,2时G2(s)的根轨迹曲线(M2_4.m)
%画ξ=0.1,0.3,1,1.5,2时G2(s)的根轨迹曲线
figure1 = figure('Color',[1 1 1]); %将图形背景改为白色
for kth=[0.05 0.1 1 1.5 2]
n=[1,2*kth,1,0] ; %分子
d=[1,2*kth,2] ; %分母
g2=tf(n,d); %求G(s)的传递函数
rlocus(g2); %画G(s)根轨迹曲线
hold on
end
axis([-4,1,-1.5,1.5]);
title('G(s)的根轨迹'); %标题说明
x=[0.18;-0.4;-0.7;-1.5;-1.1]; %标注各曲线
y=[1.3;1.3;1;0.5;0.4];
s=['ξ=0.05';'ξ=0.10';'ξ=1.00';'ξ=1.50';'ξ=2.00'];
text(x,y,s);
5、绘制G2(s)的奈奎斯特曲线(M2_5.m)
%画G2(s)的奈奎斯特曲线
figure1 = figure('Color',[1 1 1]); %将图形背景改为白色
for p=[0.01 0.1 1 10 100] %p取各值时,画出对应的奈奎斯特曲线
G=tf([1],[1/p,1/p+1,2/p+1,2]);
nyquist(G);
hold on
end
title('G2(s)的奈奎斯特曲线'); %标题说明
legend('p=0.01','p=0.1','p=1','p=10','p=100'); %图例说明
6、绘制Ф11(s)的阶跃响应曲线和伯德图(M3_1.m)
%画Ф11(s)的阶跃响应曲线
num=[100,1]; %分子
den=[1,101,2]; %分母
figure1 = figure('Color',[1 1 1]); %将图形背景改为白色
step(num,den); %画Ф11(s)的阶跃响应曲线
grid on; %增加网格
title('Ф11(s)的阶跃响应曲线'); %标题说明
xlabel('t'),ylabel('c(t)'); %增加坐标
%画G11(s)的伯德图
num1=[100,1]; %分子
den1=[1,1,1]; %分母
G11=tf(num1,den1); %求开环传递函数G11(s)
Mr=norm(G11,inf) %求谐振峰值
Wb=bandwidth(G11) %求系统带宽
figure2 = figure('Color',[1 1 1]); %将图形背景改为白色
bode(G11); %画Ф11(s)的伯德图
grid on; %增加网格
title('G11(s)的伯德图'); %标题说明
xlabel('w'); %增加坐标
7、绘制不同极点下的阶跃响应曲线M3_2.m)
figure1 = figure('Color',[1 1 1]); %½«Í¼Ðα³¾°¸ÄΪ°×É«
for p=[0.1,1,10,100]; %aÈ¡1,2,3¡¡10,ʱ£¬»³ö¶ÔÓ¦µÄÄο
G=tf([1],[1/p,1/p+1,1/p+1,2]);
step(G);
grid on;
hold on
end
title('G1(s)µÄÄοüË¹ÌØÇúÏß'); %±êÌâ˵Ã÷
legend('p=0.1','p=1','p=10','p=100'); %ͼÀý˵Ã÷
8增加零极点后的稳态误差(M4_1.m)
%画c取不同的值时的阶跃响应
figure1 = figure('Color',[1 1 1]); %将图形背景改为白色
step(1,[1 1 2],'--'); %画原系统阶跃响应曲线
hold on
str=[':';'.';'-']; %设线型变量
for c=[0.01 1 100] %对c赋不同值时
a=0.5*log10(c)+2;
G3=tf([1,c],[1,1,1]); %生成开环传递函数
f3=feedback(G3,1); %生成闭环传递函数
step(f3,str(a)); %画阶跃响应曲线
hold on
end
title('c取不同的值时的阶跃响应'); %标题说明
xlabel('t'),ylabel('c(t)'); %增加坐标
legend('原系统','c=0.01','c=1','c=100'); %图例说明
9 单位速度误差响应曲线
%画d取不同值时的速度误差响应曲线
figure4 = figure('Color',[1 1 1]); %将图形背景改为白色
step(f-f0,'--');
str=[':';'.';'-']; %设线型变量
hold on %画原系统速度误差响应曲线
for d=[0.01 1 100] %对d赋不同值时
a=0.5*log10(d)+2;
f4=tf(1,[1,1+d,1+d,d+1,0]);
step(f-f4,str(a)); %画速度误差响应曲线
hold on
end
title('d取不同的值时的速度误差响应'); %标题说明
xlabel('t'),ylabel('c(t)'); %增加坐标
legend('原系统','d=0.01','d=1','d=100'); %图例说明
axis([0 100 0 100]);
10加速度误差响应曲线
%画c取不同值时的加速度误差响应曲线
figure5 = figure('Color',[1 1 1]); %将图形背景改为白色
f=tf(1,[1 0 0]);
f0=tf(1,[1 1 2 0 0]);
step(f-f0,'--'); %画原系统加速度误差响应曲线
str=[':';'.';'-']; %设线型变量
hold on
for c=[0.01 1 100] %对c赋不同值时
a=0.5*log10(c)+2;
f3=tf([1,c],[1,2,1+c,0,0]);
step(f-f3,str(a)); %画加速度误差响应曲线
hold on
end
title('c取不同的值时的加速度误差响应'); %标题说明
xlabel('t'),ylabel('c(t)'); %增加坐标
legend('原系统','c=0.01','c=1','c=100'); %图例说明
axis([0 500 0 1000]); %限制横纵坐标
展开阅读全文