时域分析

博客地址:https://www.cnblogs.com/zylyehuo/

1、【MATLAB绘图】绘制对应曲线图,在legend图注处标明对应曲线的w_n、zeta取值;高阶零极点的数值;

绘制4张欠阻尼二阶系统不同系数变化下的对比图,观察四种变化造成的单位阶跃响应的变化

绘制高阶系统对比图,观察零极点变化下的单位阶跃响应的区别

  • !

2、【文字描述】对比分析各曲线图中参数、零极点配置等变化时,对系统的影响;

4张欠阻尼二阶系统不同系数变化下的对比图

  • w_n越大,t_p越小,t_s越小,超调量越小
  • zeta越小,t_p越大,t_s越大,超调量越大

高阶系统对比图

  • 闭环零点:减少峰值时间,减缓系统响应速度,增大超调量,等价于减小系统阻尼;
  • 如果系统存在极点位于右半平面或存在多个极点位于虚轴上,那么系统就是不稳定的;
  • 零点可以起到稳定化系统的作用,当零点和极点相互抵消时,可以使系统更加稳定;
  • 极点会对系统的响应速度、稳态误差以及超调量等产生影响。

3. 【MATLAB代码】附全部代码。

demo01.m

matlab 复制代码
clc;
clear;
close all;
w_n=3; 
w_n0=3;
w_n1=5;
w_n2=3;
w_n3=5;
t_final=50;
zeta=0.5;G_2order = tf([w_n^2],[10 2*zeta*w_n w_n^2]);
zeta=0.707;G_2order0 = tf([w_n0^2],[10 2*zeta*w_n0 w_n0^2]);
zeta=0.3;G_2order1 = tf([w_n1^2],[10 2*zeta*w_n1 w_n1^2]);
zeta=0.3;G_2order2 = tf([w_n2^2],[10 2*zeta*w_n2 w_n2^2]);
zeta=0.5;G_2order3 = tf([w_n3^2],[10 2*zeta*w_n3 w_n3^2]);

figure;
subplot(2,2,1);step(G_2order,G_2order0,t_final);grid on;hold on;legend('欠阻尼-原图','欠阻尼-对比图1 w_n=3; zeta=0.707');
subplot(2,2,3);step(G_2order,G_2order1,t_final);grid on;hold on;legend('欠阻尼-原图','欠阻尼-对比图2 w_n=5; zeta=0.3');
subplot(2,2,2);step(G_2order,G_2order2,t_final);grid on;hold on;legend('欠阻尼-原图','欠阻尼-对比图3 w_n=3; zeta=0.3');
subplot(2,2,4);step(G_2order,G_2order3,t_final);grid on;hold on;legend('欠阻尼-原图','欠阻尼-对比图4 w_n=5; zeta=0.5');

demo02.m

matlab 复制代码
clc;
clear;
close all;

w_n=4;
t_final=30;
zeta=0.2;

num1 = [1.05];
den1 = [1,1,1];
sys1 = tf(num1,den1);

num2 = [1];
den2 = [0.5,1];
sys2 = tf(num2,den2);

num3 = [1];
den3 = [0.125,1];
sys3 = tf(num3,den3);

sys4 = series(sys1,sys2);

num5 = [0.4762,1];
den5 = [1];
sys5 = tf(num5,den5);

num6 = [1,1];
den6 = [1];
sys6 = tf(num6,den6);

[num4,den4] = series(num1,den1,num2,den2);
[num,den] = series(num3,den3,num4,den4);

num8 = [1];
den8 = [0.25,1];
sys10 = tf(num8,den8);
sys11 = series(sys4,sys5);

sys7 = series(sys3,sys4);
sys8 = series(sys5,sys7);
sys9 = series(sys6,sys7);
sys12 = series(sys10,sys11);

% 无闭环零点
ps=roots(num);
zs=roots(den);
subplot(132);
plot(real(zs),imag(zs),'x',real(ps),imag(ps),'o','markersize',8);
axis([-8,4,-1,1]);
grid;%绘制网格线
hold on;
legend('极点','零点');
subplot(133);
pzmap(den,num);
axis([-8,4,-1,1]);
hold on;

% 远离虚轴的闭环零点
[num8, den8] = tfdata(sys8, 'v');
ps=roots(num8);
zs=roots(den8);
subplot(132);
plot(real(zs),imag(zs),'x',real(ps),imag(ps),'o','markersize',8);
axis([-8,4,-1,1]);
grid;%绘制网格线
hold on;
legend('极点','零点');
subplot(133);
pzmap(den8,num8);
axis([-8,4,-1,1]);
hold on;

% 靠近虚轴的闭环零点
[num9, den9] = tfdata(sys9, 'v');
ps=roots(num9);
zs=roots(den9);
subplot(132);
plot(real(zs),imag(zs),'x',real(ps),imag(ps),'o','markersize',8);
axis([-8,4,-1,1]);
grid;%绘制网格线
hold on;
legend('极点','零点');
subplot(133);
pzmap(den9,num9);
axis([-8,4,-1,1]);
hold on;

% 非主导闭环极点
[num12, den12] = tfdata(sys12, 'v');
ps=roots(num12);
zs=roots(den12);
subplot(132);
plot(real(zs),imag(zs),'x',real(ps),imag(ps),'o','markersize',8);
axis([-8,4,-1,1]);
grid;%绘制网格线
hold on;
legend('极点','零点');
subplot(133);
pzmap(den12,num12);
axis([-8,4,-1,1]);
hold on;

% 非主导闭环极点
[num11, den11] = tfdata(sys11, 'v');
ps=roots(num11);
zs=roots(den11);
subplot(132);
plot(real(zs),imag(zs),'x',real(ps),imag(ps),'o','markersize',8);
axis([-8,4,-1,1]);
grid;%绘制网格线
hold on;
legend('极点','零点');
subplot(133);
pzmap(den11,num11);
axis([-8,4,-1,1]);
hold on;

% 零极点对消
ps=roots(num1);
zs=roots(den1);
subplot(132);
plot(real(zs),imag(zs),'x',real(ps),imag(ps),'o','markersize',8);
axis([-8,4,-1,1]);
grid;%绘制网格线
hold on;
legend('极点','零点');
subplot(133);
pzmap(den1,num1);
axis([-8,4,-1,1]);
hold on;

G_2order0 = sys7;%无闭环零点
G_2order1 = sys8;%远离虚轴的闭环零点
G_2order2 = sys9;%靠近虚轴的闭环零点
G_2order3 = sys12;%非主导闭环极点
G_2order4 = sys11;%非主导闭环极点
G_2order5 = sys1;%零极点对消

subplot(1,3,1);step(G_2order0,G_2order1,G_2order2,G_2order3,G_2order4,G_2order5,t_final);grid on;hold on;legend('无闭环零点','远离虚轴的闭环零点','靠近虚轴的闭环零点','非主导闭环极点','非主导闭环极点','零极点对消');
相关推荐
加点油。。。。5 小时前
Matlab绘图(三)——设置图例的位置
开发语言·matlab·绘图
东雁西飞11 小时前
MATLAB 控制系统设计与仿真 - 34
开发语言·单片机·算法·matlab·工业机器人
电子连接器CAE与高频分析16 小时前
Matlab添加标题title与标签lable
开发语言·matlab
努力弹琴的大风天17 小时前
MATLAB遇到内部问题,需要关闭,Crash Decoding : Disabled - No sandbox or build area path
开发语言·matlab
十碗阳春面1 天前
MATLAB 中文注释乱码的问题
开发语言·matlab
万金油笑匠1 天前
自学Matlab-Simscape(初级)- 2.3 Simscape Multibody 模块之Belts and Cables(皮带与线缆)
matlab·simulink·simscape
重生之我是项目经理2 天前
spm12_fMRI 2*4混合方差分析 Flexible factorial 对比矩阵
matlab·矩阵
xx155802862xx2 天前
matlab中进行海浪模型仿真
开发语言·matlab
passionSnail2 天前
《MATLAB实战训练营:从入门到工业级应用》趣味入门篇-用MATLAB画一朵会动的3D玫瑰:从零开始的浪漫编程之旅
开发语言·matlab·3d
简简单单做算法2 天前
基于MIMO系统的SCMA稀疏码多址接入和MPA消息传递算法matlab仿真
matlab·mpa·mimo·消息传递·scma·稀疏码多址接入