单自由度有阻尼系统受不同频率的正弦激励下的受迫振动响应,并将不同振幅对应得曲线放在一个图中对比的matlab代码
时间: 2024-02-25 10:52:52 浏览: 92
以下是一个简单的示例代码,使用matlab的ode45函数求解单自由度阻尼系统的受迫振动响应,并将结果绘制在一个图中对比不同振幅的曲线:
```matlab
% 定义系统参数
m = 1; % 质量
c = 0.1; % 阻尼系数
k = 1; % 刚度系数
F0 = 1; % 激励力振幅
w = 1; % 激励力频率
% 定义时间范围和初始条件
tspan = [0, 20];
y0 = [0, 0];
% 定义激励力函数
F = @(t) F0*sin(w*t);
% 定义系统方程
odefun = @(t, y) [y(2); (-c*y(2) - k*y(1) + F(t))/m];
% 求解系统方程
[t, y1] = ode45(odefun, tspan, y0, []);
% 增加振幅,重新求解系统方程
F0 = 2;
[t, y2] = ode45(odefun, tspan, y0, []);
% 增加振幅,重新求解系统方程
F0 = 3;
[t, y3] = ode45(odefun, tspan, y0, []);
% 绘制结果
plot(t, y1(:, 1), 'b-', t, y2(:, 1), 'r-', t, y3(:, 1), 'g-');
legend('振幅=1', '振幅=2', '振幅=3');
xlabel('时间');
ylabel('位移');
title('单自由度阻尼系统受不同振幅正弦激励下的受迫振动响应');
```
注意,这只是一个简单的示例代码,实际系统中可能需要更多的参数和更复杂的方程。
阅读全文