目录
题目
1,绘出系统的冲激响应和阶跃响应波形
1)基础
2)效果
3)代码
2,求出t=0.5s,1s,1.5s,2s时系统冲激响应的数值解。
1)基础
2)效果
☀
3)代码
题目
已知描述某连续系统的微分方程为:y’’(t)+5y’(t)+6y(t)=3f’(t)+2f(t)
 1,绘出系统的冲激响应和阶跃响应波形
 
1)基础
- 冲激响应是在输入为单位冲激信号时的系统输出。
- 阶跃响应是在输入为单位阶跃信号时的系统输出。
- 传递函数 :零初始条件下线性系统响应量(即输出y(t))的拉普拉斯变换Y(s)(或z变换)Y(z)与激励量(即输入x(t))的拉普拉斯变换X(s)之比。记作G(s)=Y(s)/X(s),传递函数是描述线性系统动态特性的基本数学工具之一。
- MATLAB中的impulse函数可以得到冲激响应的时间序列数据
为了绘制连续系统的冲激响应和阶跃响应波形,需要先确定系统的传递函数。对于给定的微分方程y''(t) + 5y'(t) + 6y(t) = 3f'(t) + 2f(t)可以转化为传递函数的形式:
- 首先,对输入f(t)和输出y(t)进行拉普拉斯变换→F(s)和Y(s)。
- 将微风方程转换为:s^2Y(s) + 5sY(s) + 6Y(s) = 3sF(s) + 2*F(s)。
- 之后整理得:Y(s) = (3sF(s) + 2F(s)) / (s^2 + 5s + 6)。
- 然后,对分子和分母进行因式分解。
- 最后利用部分分式展开的方法得到系统的传递函数。(在MATLAB中,tf函数可以直接用来创建传递函数。)
impulse函数:
 step函数:
 step函数:

  
2)效果

3)代码
% 定义系统的传递函数  
fenzi = [3 2]; % 分子多项式系数  
fenmu = [1 5 6]; % 分母多项式系数  
sys = tf(fenzi, fenmu); % 创建传递函数对象  % 计算冲激响应  
[ y_impulse,t_impulse] = impulse(sys);  %时间向量t_impulse和响应向量y_impulse% 绘制冲激响应波形  
figure;  
subplot(2,1,1);
plot(t_impulse, y_impulse);  
title('冲激响应波形');  
xlabel('时间 (t)');  
ylabel('响应 (y)');  
grid on;  % 计算阶跃响应  
[ y_step,t_step] = step(sys);  % 绘制阶跃响应波形 
subplot(2,1,2);
plot(t_step, y_step);  
title('阶跃响应波形');  
xlabel('时间 (t)');  
ylabel('响应 (y)');  
grid on;2,求出t=0.5s,1s,1.5s,2s时系统冲激响应的数值解。
1)基础
可以使用插值或者查找的方法来获取特定时间点的冲激响应值。由于impulse函数返回的时间向量和响应向量通常是等间隔的,我们可以直接通过索引来查找对应时间点的值。
步骤:
- 首先定义想要查询的时间点t_query,并使用interp1函数和'nearest'选项来查找这些时间点对应的最近冲激响应值。
注意点:
- 如果t_impulse的时间间隔不够小,使用'nearest'选项可能会导致一些误差。
- 在这种情况下,可能需要使用更精确的插值方法,如'linear'或'spline'
- 对于大多数控制系统分析,如果t_impulse的时间向量足够密集,'nearest'选项通常就足够了。
interp1函数:(interp字母后面带着的是数字1)

num2str函数:

2)效果
3)代码
% 定义系统的传递函数  
fenzi = [3 2]; % 分子多项式系数  
fenmu = [1 5 6]; % 分母多项式系数  
sys = tf(fenzi, fenmu); % 创建传递函数对象  
% 计算冲激响应  
[ y_impulse,t_impulse] = impulse(sys);  %响应向量y_impulse和时间向量t_impulse% 定义想要查询的时间点
t_query = [0.5 1 1.5 2];
% 查找对应时间点的冲激响应值
% 由于t_impulse和y_impulse是等间隔的,可以使用插值或者查找最近点的方法
% 这里假设t_impulse的间隔足够小,可以直接查找最近点
y_query = interp1(t_impulse, y_impulse, t_query, 'nearest');% 显示结果
disp(['在 t = 0.5s, 1s, 1.5s, 2s 时的冲激响应分别为: ' num2str(y_query)]);有问题请在评论区留言,1天8h在线。
