时域分析

博客地址: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('无闭环零点','远离虚轴的闭环零点','靠近虚轴的闭环零点','非主导闭环极点','非主导闭环极点','零极点对消');
相关推荐
rit84324996 小时前
有限元法求转子临界转速的MATLAB实现
开发语言·matlab
Matlab程序设计与单片机7 小时前
【机器人最短路径规划】基于标准蚁群算法
matlab·蚁群算法·路径规划问题
Marye_爱吃樱桃7 小时前
MATLAB R2024b的安装、简单设置——保姆级教程
开发语言·matlab
IT猿手19 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
Evand J1 天前
【MATLAB复现RRT(快速随机树)算法】用于二维平面上的无人车路径规划与避障,含性能分析与可视化
算法·matlab·平面·无人车·rrt·避障
s09071361 天前
【声纳成像】基于滑动子孔径与加权拼接的条带式多子阵SAS连续成像(MATLAB仿真)
开发语言·算法·matlab·合成孔径声呐·后向投影算法·条带拼接
IT猿手1 天前
基于 ZOH 离散化与增量 PID 的四旋翼无人机轨迹跟踪控制研究,MATLAB代码
开发语言·算法·matlab·无人机·动态路径规划·openclaw
IT猿手1 天前
基于控制障碍函数(Control Barrier Function, CBF)的无人机编队三维动态避障路径规划,MATLAB代码
开发语言·matlab·无人机·动态路径规划·无人机编队
SugarFreeOixi1 天前
MATLAB绘图风格记录NP类型
python·matlab·numpy
IT猿手1 天前
基于 CBF 的多无人机编队动态避障路径规划研究,无人机及障碍物数量可以自定义修改,MATLAB代码
开发语言·matlab·无人机·动态路径规划