地震动反应谱的频域计算原理与实现在地震工程学中,地震动反应谱是描述结构动力响应最重要的工具之一。本文将介绍一种基于频域方法的反应谱计算原理,并结合 MATLAB 实现过程,展示如何高效地计算多个阻尼比下的位移、速度与加速度谱。
一、反应谱基本定义对一个线性单自由度振动系统,其响应受地震动激励影响,反应谱定义为该系统在不同自振周期($T$)和阻尼比($\xi$)下的最大响应值,具体包括:
加速度反应谱($S_a(T)$)
速度反应谱($S_v(T)$)
位移反应谱($S_d(T)$)
二、频域法的理论基础1. 系统动力学方程考虑质量 $m$、阻尼比 $\xi$、固有频率 $\omega_n = \frac{2\pi}{T}$ 的单自由度系统,受到地震动加速度 $\ddot{u}_g(t)$ 激励,其相对位移 $u(t)$ 满足:
\ddot{u}(t) + 2\xi\omega_n\dot{u}(t) + \omega_n^2 u(t) = -\ddot{u}_g(t)2. 频域响应表达式将上式进行傅里叶变换,得到系统响应的频域表示:
U(\omega) = H(\ome ...
随机地震动生成基本理论Clough-Penzien 谱Clough-Penzien 谱是由 Clough 和 Penzien 提出的经典地震动功率谱模型,广泛应用于模拟地震动输入的频率特性,特别适用于结构动力分析中的输入地震动建模。它考虑了地震波从基岩到地面传播过程中滤波效应,因此比简单白噪声模型更真实。Clough-Penzien 功率谱的数学表达式为
$$S(\omega ) = {{1 + 4{\zeta _g}^2{{\left( {{\omega \over {{\omega _g}}}} \right)}^2}} \over {{{\left[ {1 - {{\left( {{\omega \over {{\omega _g}}}} \right)}^2}} \right]}^2} + 4{\zeta _g}^2{{\left( {{\omega \over {{\omega _g}}}} \right)}^2}}} \cdot {{{{\left( {{\omega \over {{\omega _s}}}} \right)}^4}} \over {{{\lef ...
🟥 AMD Ryzen CPU 命名规则(适用于 7000 系列及以后)✅ 命名结构12Ryzen [系列] [四位数字型号] [后缀]示例:Ryzen 7 7840HS
🔢 四位数字型号解析(7840)
位置
数字
含义
示例
第1位
7
产品系列(发布年份)
7 → 7000 系列(约 2023 年发布)
第2位
8
架构代数(Zen 架构版本)
8 → Zen 4,7 → Zen 3+,6 → Zen 3,5 → Zen 2
第3位
4
子系列性能等级
数字越高,性能越强
第4位
0
细分型号
通常为 0,表示标准版本
🔤 后缀说明
后缀
含义
说明
X
高性能桌面版,支持超频
G
带集成显卡的桌面版
GE
低功耗桌面版(带核显)
H
高性能笔记本版(45W)
HS
高性能省电笔记本版(35W)
HX
极致性能笔记本版(可超频)
U
低功耗笔记本版(15-28W)
C
Chromebook 专用版
E
超低功耗版本(移动端)
PRO
企业版,具备额外安全与管理特性
📝 示例解析
R ...
计算机网络
未读QQ消息传输的计算机网络分层解析一、发送端(用户1发消息)用户1打开QQ,输入“你最近过得好吗?”,点击发送。这条消息会从应用层开始,逐步向下封装,最终变成一个个数据包在互联网中传输。
1. 应用层(Application Layer)
QQ应用(应用层)会按照自己的通信协议(例如消息格式、用户ID、好友列表等)封装这条文本消息。
这时候,消息是“纯文本数据”,应用层协议会加上自己的头部信息,例如:1[应用层头部] + "你最近过得好吗?"
2. 传输层(Transport Layer)
传输层的作用是确保端到端的可靠传输。QQ通常使用 TCP协议,提供:
数据分段(如果消息太大,TCP会把它拆成多个小块)
编号排序(确保数据按顺序到达)
丢包重传(如果丢失,TCP会重传)
TCP会给数据加上 传输层头部,包括:
源端口(用户1的QQ客户端端口号)
目标端口(QQ服务器的端口号)
序列号(数据包编号)
校验和(确保数据没损坏)
🔹 封装后: 1[传输层头部] + [应用层头部] + "你最近过得好吗?"
3. 网络层(Netwo ...
地震波:ELCentro对于时域方法,可参考我上篇博客,主要有杜哈梅积分、中心差分法和Newmark-β法等;而对于频域方法,是通过正逆傅里叶变换加频响函数H(w)来实现的,具体原理如下图所示。
Matlab实现:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100clc;clear all;close all;%% 结构参数m = 120; % 质量 (t) k = 3e5; % 刚度 (N/mm)w = sqrt(k/m); % 结构自振频率 (rad/s)kesi = 0.05; % 阻尼比c = 2 * m * w * kesi; % 阻尼系数 (N·s/mm)%% 读取地震加速度数据time_step = 0.005; ...
力学基础
未读本篇文章主要介绍结构动力学中结构响应求解的数值方法:杜哈梅积分、中心差分法和NewMark-β法,并利用python实现。对于matlab版本,将python代码直接扔给AI,应该不难得到,故此处不再给出。
地震波时程文件,单位为重力加速度g。
数值算法杜哈梅积分
中心差分法
NewMark-β法
示例
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 ...
本项目是《智能设计与建造》课程的大作业,项目地址:https://github.com/Hushuangjun/ConstructionInspectionModel
智能设计与建造课程作业——施工巡检模型及其图形化界面场景需求:
模型训练及使用目标检测模型采用YOLOv5,数据集采用YOLO格式,图片及相应标签存放至datasets文件夹下。本项目也提供了本次作业训练得到的较优权重best.pt。模型保留了传统YOLOv5模型的训练、验证和预测的代码(见train.py、val.py和detect.py),便于后续可加入一些新的数据集进行训练。对于权重默认采用best.pt,数据集格式默认为data/custom_data.yaml,其他默认参数取值详见源码。下面是一个较为完整的示例。
环境准备:1pip install -r requirements.txt模型训练:1python train.py --data custom_data.yaml --weights best.pt --img 640 --batch-size 8 --device 0 --cache ram -- ...
前言最近写智能设计与建造的作业,偶然兴起想把地震动响应(时域信号)转换成频域信号,需要用到傅里叶变换,于是就去系统学了学,做了相关笔记(手稿),后面有兴趣还会做一些简单的项目实战一下。参考资料:
李永乐讲傅里叶变换: 只推荐前半部分,后半部分就在乱讲。
傅里叶变换通俗解释: 对于三角函数系的正交表示提了一嘴,有利于我们记忆。
从傅里叶级数到傅里叶变换:详细的数学推导
傅里叶变换推导: 这个视频很好地弥补了李永乐老师讲的不足的地方。
本篇博客封面:本篇博客封面引用了该文章里的图片,内容并未详细阅读。
理论推导
实战本文选取的地震波文件:acc.txt,使用离散傅里叶变换将地震加速度时程曲线转化成频域曲线,相关代码如下:12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455clear allclcfile_acc = fopen('./acc.txt','r');acc_da ...