用matlab做求分子是20分母是s的四次方+8s的三次方+36s的平方+40s+20系统在阶跃信号为0.11(t)时系统的响应并求出稳态值,上升时间,调节时间,超调量的代码
时间: 2024-02-23 14:57:58 浏览: 146
信号的阶跃响应,通过matlab进行信号的阶跃响应仿真-源码
以下是MATLAB代码:
```matlab
num = 20;
den = [1, 8, 36, 40, 20];
sys = tf(num, den); % 创建传递函数模型
t = 0:0.01:10; % 时间向量
step_input = 0.11*ones(size(t)); % 阶跃输入
[y, t] = lsim(sys, step_input, t); % 计算系统响应
% 绘制系统响应曲线
plot(t, y);
xlabel('时间');
ylabel('系统响应');
title('阶跃响应');
% 计算稳态值
steady_state = y(end);
% 计算上升时间
for i = 1:length(y)
if y(i) >= 0.1*steady_state
rise_time = t(i);
break;
end
end
% 计算调节时间
for i = length(y):-1:1
if abs(y(i)-steady_state) > 0.02*steady_state
settling_time = t(i+1);
break;
end
end
% 计算超调量
[Mp, Mp_index] = max(y);
overshoot = (Mp - steady_state) / steady_state * 100;
% 显示结果
fprintf('稳态值: %f\n', steady_state);
fprintf('上升时间: %f\n', rise_time);
fprintf('调节时间: %f\n', settling_time);
fprintf('超调量: %f%%\n', overshoot);
```
注意:这段代码假设系统是一个 SISO(单输入单输出)系统。如果系统是一个 MIMO(多输入多输出)系统,需要对输入和输出进行相应的调整。
阅读全文