编写matlab二阶系统单位阶跃响应代码
时间: 2024-11-13 10:25:48 浏览: 9
基于MATLAB的控制系统单位阶跃响应分析样本.doc
在MATLAB中编写一个二阶系统(如阻尼简谐振荡器模型)的单位阶跃响应代码,通常需要以下步骤:
```Matlab
% 定义系统的参数(比如自然频率ω_n和阻尼比ζ)
wn = 5; % 自然频率
zeta = 0.7; % 阻尼比
% 定义二阶微分方程的系数
a1 = -2*zeta*wn;
a2 = wn^2;
b1 = 1;
% 创建状态空间模型 (SS) 的结构
sys = tf([a2 a1], [1 b1]);
% 设置输入为单位阶跃函数
u = unitstep(t);
% 运行仿真
[t, y] = step(sys, u); % t 是时间向量,y 是系统响应
% 绘制结果
plot(t, y);
xlabel('Time');
ylabel('Response');
title(['Step Response of a Second Order System with Parameters: wn=' num2str(wn) ', ζ=' num2str(zeta) '] );
grid on;
```
在这个例子中,我们首先定义了系统的自然频率和阻尼比,然后构造了一个传递函数来表示二阶系统。`tf` 函数用于创建线性动态系统模型。接着,我们将输入设为单位阶跃函数,通过 `step` 函数运行模拟得到响应,并用 `plot` 函数显示结果。
阅读全文