用matlab计算当梁受一10N简谐力、作用频率1-1000Hz、作用点在距离一端0.15m处时的强迫振动,获取梁中心点处的振动加速度响应,绘图给出。
时间: 2024-03-24 12:36:56 浏览: 24
以下是计算梁受强制振动的 MATLAB 程序:
```matlab
% 定义材料和几何参数
rho = 7850; % 密度,kg/m^3
E = 2e11; % 弹性模量,Pa
L = 10; % 长度,m
b = 0.1; % 宽度,m
h = 0.2; % 高度,m
% 计算刚度系数和质量系数
I = b * h^3 / 12; % 惯性矩
k = E * I / L^3; % 刚度系数
m = rho * b * h * L; % 质量系数
% 定义输入力和作用位置
F0 = 10; % 输入力,N
f = 1:1000; % 频率,Hz
x = 0.15; % 作用位置,m
% 计算振动加速度响应
w = 2 * pi * f; % 角频率
w0 = sqrt(k / m); % 固有角频率
A = F0 / (m * (w0^2 - w.^2 + 2i*w0*w)); % 振幅
phi = atan((2*w0*w) ./ (w0^2 - w.^2)); % 相位
a = A .* (1 - x/L) .* sin(phi); % 振动加速度响应
% 绘图
figure;
loglog(f, abs(a), 'LineWidth', 2);
xlabel('频率 (Hz)');
ylabel('振动加速度 (m/s^2)');
title('强制振动下梁中心点处的振动加速度响应');
grid on;
```
程序中,变量 `rho`、`E`、`L`、`b` 和 `h` 分别表示梁的密度、弹性模量、长度、宽度和高度。变量 `I`、`k` 和 `m` 分别表示惯性矩、刚度系数和质量系数。变量 `F0` 表示输入力,`f` 表示作用频率,`x` 表示作用位置。程序通过计算振动加速度响应,得到梁中心点处的振动加速度响应,并绘制出频率与振动加速度响应之间的关系图。