简化物理实验数据处理,自动生成规范报告要素
这是一个专为大学物理实验设计的 Python 工具库,旨在解决实验数据处理中的痛点:
- 繁琐的单位换算与误差计算
- 粗糙的手动图表绘制与拟合
- 标准化实验报告的格式排版
通过简单的接口,你可以快速完成数据录入、误差分析、曲线拟合,并自动生成符合实验报告规范的表格、图表和计算过程,让精力更专注于实验本身而非机械操作。
我们还在demo中持续更新实验报告模板(主要是ipynb的notebook格式,对应北航物理实验课程),包括密里根油滴实验、磁场测量、弗兰克-赫兹实验等,希望能帮助大家!
-
物理量处理
支持带单位(基于pint)和不确定度(基于uncertainties)的物理量运算(如 5.2±0.1 米 + 30 厘米 自动换算并传递误差)。 -
数据处理与误差分析
- 基础统计:均值、标准差、标准误差计算
- 不确定度传递:自动计算直接/间接测量量的 A 类、B 类不确定度
- 异常值处理:支持 3σ 原则、格拉布斯检验剔除异常数据
-
曲线拟合与可视化
- 常用拟合:线性拟合(含相关系数)、非线性拟合(指数、多项式等)
- 标准化图表:自动添加误差棒、拟合曲线、物理量单位标签(如“时间 t / s”)
-
报告辅助工具
- 自动生成数据表格(支持 Markdown/LaTeX 格式)
- 导出计算过程与结论模板,贴合实验报告规范
本仓库的说明文档采用“源码注释驱动”的方式维护:
- 公开 API 的使用说明写在模块和函数的 docstring 中。
README.md只保留项目总览、安装方式、入口说明和常见用法。_开头的内部辅助函数默认不进入正式文档,避免把实现细节暴露成对外承诺。- 后续如果补充自动文档站点,可以直接基于这些 docstring 生成,不需要重复手写两套内容。
- 当前的生成入口是
python tools/build_docs.py,默认会把公开 API 导出为docs/api.md。
这样做的好处是文档和代码同步更新,维护成本最低,也最适合当前这个面向课程实验的数据处理库。
- 近期:完善基础误差计算与线性拟合功能
- 中期:增加非线性拟合、自定义单位支持、LaTeX 报告生成
- 远期:开发 GUI 界面、批量处理多组实验数据
- 如有 bug 或需求,欢迎在 Gitee 仓库 提交 Issues
- 欢迎 Fork 仓库并提交 Pull Request,一起完善这个工具!