Skip to content

Instantly share code, notes, and snippets.

@lxfly2000
Created April 19, 2026 09:03
Show Gist options
  • Select an option

  • Save lxfly2000/93bb87c229b4fad21d5ece55a3a957b4 to your computer and use it in GitHub Desktop.

Select an option

Save lxfly2000/93bb87c229b4fad21d5ece55a3a957b4 to your computer and use it in GitHub Desktop.
AI总结

建议结合原文图片看方便理解。

Prompt

https://note.com/kotoho7/n/n59e423877b1b

请分析并总结这篇文章中的震源推算方法。

GPT

我先读一下原文,再把里面的震源推算步骤拆成清晰的流程给你。已思考片刻

这篇文章里的“震源推算”思路,本质上是把“揺れ(检测到震动的时间)”和“震源位置”之间的关系,转成一个误差最小化问题:先假设一个震源,再看它能不能解释各观测点的检测时刻;越能让各点的推算到达时刻彼此一致,这个假设震源就越接近真实震源。作者明确说,这个思路参考了气象厅用的 Geiger 反复法,但实现上是自己写的近似版本。

具体流程是这样的:先记录每个观测点“检测到震动”的时刻;再用“最先检测到的观测点”当作初始假定震源,位置取该点经纬度四舍五入到小数第 2 位,深度先设 10 km,发震时刻设为“检测时刻 − 2 秒”。

接着,作者定义了一个“误差レベル(误差等级)”来衡量某个假定震源有多像真实震源:对所有已检测到的观测点,先根据假定震源计算震央距和走时,再用“检测时刻 − 走时”反推出各点的发震时刻;然后求这些发震时刻的平均值,再计算各点发震时刻相对平均值的平方误差,并乘上权重后加总。这个权重让更近的观测点影响更大,具体做法是“最先检测点的震央距 ÷ 当前点震央距”,但 50 km 以内固定为 1。

作者还补了一个很关键的修正:如果只看“已检测到”的站点,可能会把震源误判到一个虽然拟合得很好、但明显不合理的位置。为此,他加入了“未检测站点”的约束:在震源附近挑选尚未检测到的观测点,若按当前假定震源推算它们本应已经到达,却实际上还没到,就给误差再加 1。这样会把“过早覆盖了未检测站点”的震源排除掉。

最后一步是反复搜索:围绕当前假定震源,先用较粗的步长搜索候选点——经纬度 ±0.5°;找到更小误差的点就把假定震源移过去,直到局部不再变好。然后再缩小步长,改成经纬度 ±0.1°;之后再把深度也加入搜索,依次用深度 ±50 km、±10 km 配合经纬度 ±0.1° 继续迭代,直到误差不再下降,那个位置就作为最终震源。作者把它描述成“往误差谷底滚下去”的过程。

一句话概括:它不是直接做严格的地震学反演,而是用“走时表 + 检测时刻 + 误差最小化 + 网格迭代搜索”来近似找震源。 作者自己也说,最后求出来的其实已经接近“震源计算”而不只是“震央检测”了。

如果你愿意,我可以把这套流程再画成一张“输入 → 计算 → 迭代 → 输出”的流程图,方便你一眼看懂。

Gemini

这篇文章介绍了一种从地震摇晃监测数据中推算震中(震央)的方法。作者通过从简单的物理原理出发,逐步演进到复杂的专业算法,总结出以下几种主要的推算思路和方法:

1. 核心物理逻辑:等时圈与走时曲线

地震波(P波约 7km/s,S波约 5km/s)以震源为中心向外扩散,理论上距离震中相等的观测点探测到摇晃的时间也应该相近。

  • 基本原理:当选定的“假设震中”越接近“实际震中”时,各观测点的“震中距离”与“检测到摇晃的时间”之间的关系会越符合走时曲线(Travel-Time Curve)
  • 判定方式:如果假设位置偏离实际震中,观测数据在走时坐标系中会显得杂乱无章;如果假设准确,数据点会整齐地排列在曲线上。

2. 作者的自研推算流程(基于离散度分析)

作者提出了一套适合程序实现的启发式搜索方法,分为以下几个步骤:

  • 设定初始种子点:将第一个检测到摇晃的观测点位置设为“临时震中”。
  • 引入 JMA2001 走时表:利用气象厅的标准走时表,根据假设的震源深度和距离,计算出理论上的地震波传递时间(走时)。
  • 计算“误差水平”(Error Level)
  1. 对所有已检测到摇晃的站点,用“检测时间”减去“理论走时”,反推发震时刻
  2. 如果假设震中是正确的,那么所有站点反推出来的“发震时刻”应该高度一致。
  3. 通过计算这些时刻的**方差(Variance)**来评估误差。方差越小,说明假设位置越接近真实震中。
  • 距离权重优化:离震中近的站点数据更可靠,因此在计算误差时,给予近距离站点更高的权重。

3. 关键修正技术:着未着法(Arrival/Non-arrival Method)

为了解决在监测点稀疏地区可能出现的误报(例如,程序可能在没有监测器的远海区域计算出一个低误差震中),文章提到了“着未着法”:

  • 逻辑:如果假设震中在某处,那么该处附近的站点理论上应该已经感应到摇晃。如果现实中这些站点“尚未着”(还没检测到摇晃),则说明假设震中是错误的,需要大幅度增加该位置的误差权重。

4. 专业级算法:IPF法(集成粒子滤波法)

文章进一步介绍了目前日本紧急地震速报中使用的 IPF (Integrated Particle Filter) 法,这是更为先进的统计学方法:

  • 多参数拟合:不仅使用触发时间,还结合了地震波的最大振幅、B-Δ法推算的距离、以及主成分分析得到的震源方位。
  • 粒子群搜索:在三维空间(经纬度+深度)内随机散布大量“虚拟震源粒子”,根据观测数据不断调整这些粒子的权重。
  • 贝叶斯迭代:高概率区域会产生更多新粒子,通过不断迭代,粒子群会迅速向真实的震源位置汇聚。这种方法在处理“多震源同时发生”的情况时具有极强的鲁棒性。

总结

这篇文章揭示了震中推算从**几何作图(三圆交汇)数值优化(方差最小化)再到概率统计(粒子滤波)**的演进过程。其核心在于利用已知地震波波速模型(走时表),不断调整假设坐标,直到观测到的时间序列在统计上达到逻辑自洽。

@lxfly2000
Copy link
Copy Markdown
Author

lxfly2000 commented Apr 19, 2026

简单理解就是测站检测到震度上升后,从测站位置开始遍历搜索(假定震源),找到尽可能符合传播模型(走时表)的位置,如果新的位置有更小的方差那就将假定震源改为这个新的位置,同时也可以按此方法确定预估发震时间和深度,预估震级则通过测站的最大震度和假定震源位置算出
对于多震和余震的情况,通过调整假设位置和发生时间,只要符合条件的测站满足数量下限和最小的连续距离(从最近点开始算,不能断开,可以设为不同的精度档位,比如最低精度3点40公里、中等精度7点120公里、高精度更多点更长距离等),就认为这个位置、这个时间发生了一次地震,有多个结果的话就认为是多个(或多次)地震,然后把相近的结果合并为同一次地震
需要的数据有:各测站一段时间的历史震度记录,测站精确的经纬度、高(深)度
震度和时间距离的关系(余震和多震的情况):
震度和时间、距离的关系

@lxfly2000
Copy link
Copy Markdown
Author

然而使用国产AI时,得到的却是这些回答:
DeepSeek
豆包
很明显这是因为note.com被GFW屏蔽了,国内网络无法访问造成的的结果。
如果国产AI都是这个样子,那恐怕很难与国外的AI较量,存在先天性的不足,不好用、不能用、也不应该使用国产AI,当然不排除这些AI在开发过程中,内部其实是可以访问国外网络的(很可能是这样),只是公开的版本是在GFW的网络环境中。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment