在matlab中求解简谐激励下单自由度系统的位移响应,并绘制响应时历曲线
时间: 2023-03-20 20:02:55 浏览: 672
为了求解简谐激励下单自由度系统的位移响应,需要先利用运动方程列出系统的动力学方程。单自由度系统的运动方程可以表示为:
m*x''(t) + c*x'(t) + k*x(t) = F*cos(ω*t)
其中,m表示系统的质量,c表示系统的阻尼系数,k表示系统的刚度,F表示外力的振幅,ω表示外力的角频率,x(t)表示系统的位移。
根据这个方程,我们可以得到系统的解析解:
x(t) = A*cos(ω*t - φ)
其中,A表示系统的振幅,φ表示系统的初相位。将这个解代入运动方程中,可以求解出振幅A和初相位φ的值:
A = F/m/√((k-m*ω^2)^2 + (c*ω)^2)
φ = atan(c*ω/(k-m*ω^2))
最后,我们可以利用MATLAB绘制位移响应时历曲线的代码:
% 定义系统的参数
m = 1; % 系统的质量
c = 0.2; % 系统的阻尼系数
k = 4; % 系统的刚度
F = 1; % 外力的振幅
w = 1; % 外力的角频率
% 计算振幅和初相位
A = F/m/sqrt((k-m*w^2)^2 + (c*w)^2);
phi = atan(c*w/(k-m*w^2));
% 定义时间范围和步长
t = 0:0.01:10;
% 计算位移响应
x = A*cos(w*t - phi);
% 绘制位移响应时历曲线
plot(t,x);
xlabel('时间');
ylabel('位移');
title('简谐激励下单自由度系统的位移响应');
阅读全文