首页/文章/ 详情

2-16简支梁在周期动载荷下会怎样振动:简支梁固有频率、振型与动态响应计算

1天前浏览3
一句话介绍: 这套程序针对一根矩形截面简支梁,先用解析公式计算前 4 阶固有频率和振型,再施加两个不同位置、不同频率的简谐点载荷,通过模态叠加计算指定测点的时程位移,以及指定时刻整根梁的空间变形。

先看它解决什么问题

一根梁受到动态载荷以后,不会只产生一个静态挠度。

载荷会不断随时间变化,梁本身又具有固有频率和固有振型,因此最终响应取决于:

梁有多长、多硬、多重;动载荷施加在哪里;

载荷以多大频率变化;当前观察梁上的哪个位置;考虑哪些振动模态。

这套程序把问题分成两部分:

梁参数 → 固有频率 / 固有振型

再进一步:

两个简谐点载荷 → 前 4 阶模态响应 → 线性叠加 → 测点时程 / 某时刻梁的空间变形

所以它既能回答“这根梁自己容易以什么频率振动”,也能回答“给定动载荷后,它实际会怎样运动”。

1. 当前程序建立了怎样的梁模型?

源码中的梁参数如下:


参数

当前值

含义

梁长 L

1 m

两端简支

截面宽 b

0.03 m

矩形截面

截面高 h

0.10 m

矩形截面

弹性模量 E

2.1×10¹¹ Pa

材料抗弯刚度参数

材料密度 ρ

7600 kg/m³

用于计算单位长度质量

矩形截面的惯性矩为:I = b·h³ / 12

代入当前参数:I = 2.5×10⁻⁶ m⁴

因此梁的抗弯刚度为:EI = 5.25×10⁵ N·m²

单位长度质量为:ρbh = 22.8 kg/m

这些量共同决定了梁的固有振动特性。

2. 为什么简支梁的振型是正弦形?

对于均匀、两端简支的 Euler–Bernoulli 梁,模态函数可以写成:

φₙ(x) = sin(nπx / L)

其中:n:模态阶次;x:梁上的位置;L:梁长。

这个表达式天然满足简支边界条件:

x = 0 和 x = L 时,φₙ(x) = 0

也就是说:梁两端的振型位移始终为零,而梁中间可以发生弯曲。

3. 程序怎样计算固有频率?

源码使用的第 n 阶固有圆频率为:

ωₙ = (nπ / L)² × √[EI / (ρbh)]

再换算成普通频率:

fₙ = ωₙ / (2π)

从公式可以直接看出几个物理规律:

EI 越大 → 梁越硬 → 固有频率越高;

ρbh 越大 → 梁越重 → 固有频率越低;

梁长 L 增加 → 固有频率明显下降;

对当前均匀简支梁,频率近似随 n² 增长。

5. 前 4 阶振型分别代表什么?

当前程序绘制的振型本质上是:

sin(πx/L)、sin(2πx/L)、sin(3πx/L)、sin(4πx/L)

它们表示不同阶次下梁的相对变形形状。

第一阶整体只有一个主要弯曲波腹;

第二阶在梁中点出现内部节点;

第三、第四阶继续增加内部节点和空间波动。

需要注意:

这些曲线是归一化的相对模态形状,不是某一真实载荷下的实际位移值。

源码纵轴写成“相对振幅 w/m”,但正弦模态本身是无量纲相对形状,把它理解为“相对振型幅值”更准确。

6. 程序施加了什么动载荷?

固有特性计算以后,程序在梁上施加两个简谐点载荷。






载荷

位置

幅值

圆频率

载荷 a

xₐ = 0.3 m

1000 N

Ωₐ = 2 rad/s

载荷 b

xᵦ = 0.6 m

1000 N

Ωᵦ = 5 rad/s

因此两个载荷可以理解成:

Fₐ(t) = 1000 sin(2t)

Fᵦ(t) = 1000 sin(5t)

两个载荷同时作用在同一根梁上,但位置和激励频率不同。

7. 单个简谐点载荷怎样激发梁的不同模态?

程序对每一个模态分别计算响应。

对于位于 x_f 的一个简谐点载荷,代码对应的第 n 阶响应可以概括为:

wₙ(x,t) = [2F₀ / (ρbh)] × sin(nπx_f/L) × sin(nπx/L) / (ωₙ²-Ω²) × [sin(Ωt) - (Ω/ωₙ)sin(ωₙt)]

其中:

F₀:载荷幅值;Ω:激励圆频率;x_f:载荷作用位置;

x:观察位置;ωₙ:第 n 阶固有圆频率。

这个公式包含三个非常重要的信息。

载荷位置决定某个模态能被激发多强

sin(nπx_f/L)

表示载荷施加位置和第 n 阶振型之间的耦合程度。

如果载荷刚好作用在某阶振型的节点上,这一项可能接近 0,那么该模态就很难被这个载荷激发。

测点位置决定能观察到多少该模态

sin(nπx/L)

表示当前观察位置在该阶振型上的幅值。

如果测点正好处于某阶节点,即使该模态实际存在,这个测点也可能几乎测不到。

激励频率和固有频率越接近,响应越敏感

公式中存在:1 / (ωₙ² - Ω²)

这说明激励频率接近固有频率时,理想无阻尼模型的响应会迅速增大。

这就是结构共振的理论来源之一。

8. 当前程序为什么不会出现明显共振?

当前第一阶固有圆频率已经达到:

ω₁ ≈ 1497.66 rad/s

而两个外部激励只有:Ωₐ = 2 rad/s、Ωᵦ = 5 rad/s

它们都远低于第一阶固有频率。

因此按照当前默认参数:

程序研究的是明显低于结构第一阶共振频率的周期激励,而不是近共振工况。

如果想研究共振附近的响应,可以把激励频率逐渐调高到接近某个 ωₙ。

不过当前模型没有阻尼,因此不能直接把 Ω 精确设置为 ωₙ,否则公式中的分母会趋近 0,理想模型会出现奇异问题。

9. 为什么程序只计算前 4 阶模态?

连续梁理论上存在无限多个振动模态。

实际计算时通常不会把无限阶全部求和,而是进行模态截断:

w(x,t) ≈ Σ(n=1→4) wₙ(x,t)

当前程序只保留前 4 阶。

这样做的意义是:

用少量主要低阶模态近似真实动态响应,显著减少计算量。

对于低频激励,低阶模态通常更重要,所以这种截断比较符合当前 2 rad/s 和 5 rad/s 的低频载荷。

但如果研究高频激励或局部快速变化,仅保留 4 阶可能不够。

10. 两个载荷为什么可以直接相加?

程序先分别计算:a 点载荷响应 ya、b 点载荷响应 yb

最后:y = ya + yb

这利用了线性结构动力学中的叠加原理。

因为当前梁模型是线性的,所以:

载荷 A 单独产生的响应 + 载荷 B 单独产生的响应 = 两个载荷同时作用时的总响应。

这也是整个程序结构非常清楚的原因:先分开算,再直接叠加。

11. 程序可以回答哪两类动态响应问题?

给定梁上一个位置,观察它随时间怎样振动

程序先让用户输入:x = 0~1 m

然后计算:t = 0~10 s

范围内该点的位移响应。

因此可以回答:

“梁中点在两个周期载荷共同作用下,10 秒内怎样上下振动?”

例如按照源码公式,如果输入:x = 0.5 m

则 0~10 s 内当前四模态近似响应的最大绝对位移约为:

6.78×10⁻⁵ m ≈ 0.0678 mm

这个数值是按程序默认参数直接计算得到的示例。

给定一个时刻,观察整根梁当前弯成什么样

程序随后让用户输入:t = 1~10 s

并在:x = 0、0.1、0.2、…、1 m

这些位置计算瞬时位移。

因此可以回答:

“在第 5 秒时,整根梁各个位置的位移分布是什么样?”

这其实是一个瞬时空间变形曲线

12. 为什么不能只做静力分析?

如果只按静力学计算挠度,相当于默认载荷不随时间变化,也不会考虑结构自身的振动频率。

而当前程序中:

载荷按照 sin(Ωt) 周期变化;

不同模态具有各自的 ωₙ;

响应中同时包含激励频率和结构固有频率。

所以它比简单静力挠度多回答了一个关键问题:

结构的位移怎样随时间持续变化。

13. 为什么不直接求整根梁的一个“总振型”?

固有振型和动态变形不是同一个概念。

固有振型 φₙ(x) 描述:结构如果以第 n 阶固有频率自由振动,会呈现什么空间形状。

动态响应 w(x,t) 描述:在给定外部载荷作用下,某个具体时刻结构实际变成什么形状。

动态响应通常是多个固有振型的叠加。

所以程序先求模态,再利用模态叠加求真实受迫响应,这个流程在理论上是连贯的。

14. 这种方法理论上为什么适合简支梁?

优势一:边界条件可以直接写进解析振型

φₙ(x) = sin(nπx/L) 天然满足两端位移为 0。

因此不需要额外做复杂数值约束,就能直接得到简支梁的标准模态形状。

优势二:把连续梁问题拆成多个独立模态

原本梁的位移同时依赖空间 x 和时间 t。

模态展开以后,可以把复杂响应表示成若干振型的叠加,每一阶只需要计算对应的时间响应。

这使问题更容易理解和计算。

优势三:可以直观看出载荷位置和测点位置的影响

公式同时包含:

sin(nπx_f/L) 和 sin(nπx/L)

因此程序能够体现:

载荷放在哪里会不会激发某阶模态;

传感器放在哪里能不能观测到某阶模态。

这对结构振动测试中的激励点和测点布置非常重要。

优势四:适合低阶模态主导的快速分析

对于当前低频载荷,前几阶模态通常已经能够描述主要响应趋势。

相比建立复杂有限元模型,解析模态法结构清楚、参数少,非常适合教学和基础振动分析。

15. 这个程序适合用在哪里?

简支梁振动教学

可以直接观察梁长、截面、弹性模量和密度怎样影响固有频率。

动载荷响应分析

给定周期点载荷的位置、幅值和频率,可以快速研究梁上某一点的时程响应。

激励点 / 测点布置实验

通过修改 xaxb 和用户输入的 x,可以观察振型节点怎样影响模态激励和测量结果。

共振原理实验

逐渐提高 wa 或 wb,观察激励频率接近某阶固有频率后公式中的响应放大趋势。

模态叠加法学习

程序把“固有频率 → 固有振型 → 单模态响应 → 多模态叠加”完整串在一个文件里,适合理解结构动力学的基本逻辑。

16. 怎么运行?

当前压缩包中 demo.m

程序会先计算并显示前 4 阶固有频率和振型,然后依次要求输入:

梁上的响应位置 x,提示范围 0~1 m;

希望观察空间响应的时刻 t,提示范围 1~10 s。

18. 当前源码有哪些重要限制?

它并没有真正做“动载荷识别”

程序实际上已经预先给定:

载荷位置;载荷幅值;载荷频率。

随后由这些已知载荷正向计算梁的响应。

因此当前代码真正实现的是:已知动载荷下的梁动态响应计算

而不是根据测得响应反推出未知载荷的“反问题载荷识别”。

使用的是理想无阻尼梁模型

响应公式中没有阻尼项。

因此程序不能模拟:

阻尼导致的振幅衰减;

有限的共振峰值;

不同阻尼比对动态响应的影响。

在实际结构中,阻尼通常不可忽略。

只保留前 4 阶模态

当前动态响应使用 4 阶模态截断。

对于当前低频激励比较合理,但高频载荷下可能遗漏高阶响应。

使用的是经典 Euler–Bernoulli 梁解析模型

这种模型主要考虑弯曲变形。

它没有显式考虑:剪切变形;转动惯量效应;复杂边界柔度;截面变化;材料非线性。

对于细长、均匀简支梁非常适合,但不能直接代表所有梁结构。

19. 一句话看懂这个项目

这是一个 MATLAB 简支梁模态与受迫振动计算程序:它根据矩形梁的 E、I、密度和长度,用 φₙ(x)=sin(nπx/L) 求出前 4 阶振型,用 ωₙ=(nπ/L)²√[EI/(ρbh)] 求出前 4 阶固有频率,再把位于 0.3 m 和 0.6 m、幅值均为 1000 N 的两个简谐点载荷分别投影到前 4 阶模态并线性叠加,从而得到指定位置的 0~10 s 位移时程和指定时刻整根梁的瞬时变形。当前前 4 阶固有频率约为 238.36、953.44、2145.23 和 3813.75 Hz。


来源:MATLAB学习与应用
静力学振动非线性MATLAB理论材料
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-08-24
最近编辑:1天前
explicit-z
硕士 工种号:MATLAB学习与应用
获赞 212粉丝 78文章 294课程 5
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈