单自由度在正弦荷载作用下的动力响应matlab

问题遇到的现象和发生背景

单自由度有阻尼系统在正弦荷载作用下的动力响应

img

img


这个怎么用matlab实现图一当中的那个输出的“Displacement-Time”图,十分感谢


% 定义参数
m = 1;
k = 1;
c = 0.1;
f = 1;

% 定义常微分方程组
function dy = func(t, y)
  dy = zeros(2, 1);
  dy(1) = y(2);
  dy(2) = (-c * y(2) - k * y(1) + f * sin(t)) / m;
end

% 使用 ode45 函数求解常微分方程组
[t, y] = ode45(@func, [0, 10], [0, 0]);

% 绘制单自由度有阻尼系统的动力响应图
plot(t, y(:, 1));
xlabel('Time');
ylabel('Displacement');
title('Displacement-Time');