编写一个简单的M文件,计算二阶动态系统的阶跃响应,ζ值从0.1到1,且绘制出一簇阶跃响应曲线,二阶动态系统的数学模型为:G(s)=ω^2/(s^2+2ζωs+ω^2),分别设固有频率为1,2
时间: 2024-09-26 22:18:11 浏览: 37
自控原理二阶系统阶跃响应及性能分析实验报告.pdf
5星 · 资源好评率100%
在Matlab中,你可以编写一个M文件(也称为.m文件)来计算和绘制二阶动态系统的阶跃响应。以下是创建这个文件的基本步骤:
```matlab
% 导入所需的库
clear all; close all;
clc;
% 定义常数和范围
omega = [1, 2]; % 固有频率范围
zeta = 0.1:0.1:1; % ζ值范围
% 创建一个矩阵存储结果
response_matrix = zeros(length(omega), length(zeta));
for i = 1:length(omega)
for j = 1:length(zeta)
G_s = omega(i)^2 ./ (s.^2 + 2*zeta(j)*omega(i)*s + omega(i).^2); % 动态系统传递函数
step_response = lsim(G_s, 1, 0:0.01:10); % 计算阶跃响应
response_matrix(i,j,:) = step_response.y; % 存储响应数据
end
end
% 绘制响应曲线
figure;
imagesc(zeta, omega, response_matrix);
xlabel('\(\zeta\)'); ylabel('\(\omega_n\)');
title('二阶系统阶跃响应随ζ和ω的变化');
colorbar;
% 提取并显示一些关键响应点
disp("Selected responses (ζ=0.5, ω=1):");
disp(response_matrix(1,3));
disp("Selected responses (ζ=0.8, ω=2):");
disp(response_matrix(2,end));
```
在这个M文件中,我们首先初始化变量和循环结构,然后计算每个ζ值和固有频率组合下的阶跃响应。`lsim`函数用于模拟阶跃响应,最后使用`imagesc`绘制响应曲线,并选择特定ζ和ω的响应值进行展示。
阅读全文