问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

控制建模Matlab练习:一阶系统的时域响应分析

创作时间:
作者:
@小白创作中心

控制建模Matlab练习:一阶系统的时域响应分析

引用
CSDN
1.
https://blog.csdn.net/qq_45858544/article/details/130177620

此练习主要是典型的一阶系统时域响应的分析和建模。

  1. 单位冲激响应
  2. 单位阶跃响应
  3. 对初始条件响应

在Matlab中表示如下图的系统

先假设以下有这个一阶系统的形式:

图中已知,系统的G(s),则在Matlab中用代码表示出来:

clc;clear;close all;
%% 定义一阶系统
G_s = tf([5],[1 5]);
%第一个[5]是分子部分;第二个[1 5]是分子部分s+5;
%% 仿真
subplot(3,1,1)%三个图的第1幅图
%前面的3,1表示绘图时,三个图为3行1列展示,最后数字表示第几幅图
%% 单位冲激响应
impulse(G_s);
%% 单位阶跃响应
subplot(3,1,2)%三个图的第2幅图
step(G_s);
%% 对初始状态的响应
% - 因为**传递函数**的推导,是以**零初始条件**为基础的。
% -  所以在求**对有初始条件**的响应时,需将系统**用状态空间方程**的形式。
subplot(3,1,3)%三个图的第3幅图
x0 = 10;
A = -5;
B = 5;
C = 1; 
D = 0;
sys = ss(A,B,C,D);
initial(sys,x0);
%可得出A、B、C、D矩阵,并且假设初始条件为x0=10;

单位冲激响应

其中impulse(G_s);,就是对G_s的单位冲激响应的语句;

单位阶跃响应

其中step(G_s);,就是对G_s的单位阶跃响应的语句;

对初始条件的响应

其中initial(sys,x0);,就是对sys系统且有x0为初始条件的,对初始条件的响应的语句;

  • 因为传递函数的推导,是以零初始条件为基础的。
  • 所以在求对有初始条件的响应时,需将系统用状态空间方程的形式。

其转换的分析如下图:

  • (有涉及拉普拉斯逆变换,将转为微分方程;)
  • (系统的输出y(t)=z(t)=x(t);)
    可得出A、B、C、D矩阵,并且假设初始条件为x0=10;

结果与分析

运行之后:仿真结果图。

分析:

  • 图中中可以看出,冲激响应对初始条件的响应,两者表现其实是差不多的,因为对初始条件的响应其实就是系统对冲激的响应的过程。

  • 不同之处,在于对初始条件的响应,这在初始的强度,也就是在0点处的强度达到我们给定的初始值,这里就是10;
  • 也就是一个冲激,这个冲激的能量,使得系统在初始的时间,达到了10的给定初始条件。

学习来源:《控制之美》[卷1],王天威

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号