单自由度有阻尼系统受不同频率的正弦激励下的位移时间曲线,并将不同频率对应得曲线放在一个图中对比的matlab代码
时间: 2024-02-25 16:53:02 浏览: 82
基于MATLAB的单自由度系统阻尼影响分析.pdf
5星 · 资源好评率100%
以下是一个简单的例子,演示了如何绘制单自由度有阻尼系统在不同频率下的位移时间曲线:
```matlab
% 定义系统参数
m = 1; % 质量
k = 10; % 刚度
c = 0.5; % 阻尼系数
% 定义激励参数
t = linspace(0, 10, 1000); % 时间范围
freq = [0.5, 1, 2]; % 不同频率的激励
% 计算系统响应
for i = 1:length(freq)
omega = 2*pi*freq(i); % 角频率
F = sin(omega*t); % 正弦激励
X = zeros(size(t)); % 位移
V = zeros(size(t)); % 速度
A = zeros(size(t)); % 加速度
for j = 2:length(t)
dt = t(j) - t(j-1);
A(j) = (F(j) - c*V(j-1) - k*X(j-1))/m;
V(j) = V(j-1) + A(j)*dt;
X(j) = X(j-1) + V(j)*dt;
end
% 绘制位移时间曲线
plot(t, X, 'DisplayName', sprintf('Freq = %g Hz', freq(i)));
hold on;
end
% 添加标题和图例
title('Single DOF System Response to Sinusoidal Excitation');
xlabel('Time (s)');
ylabel('Displacement (m)');
legend('show');
```
运行该代码,将会绘制出一个图像,其中包含了不同频率下的位移时间曲线。
阅读全文