{"id":13541781,"url":"https://github.com/wtdcode/BUAAPhyhelper","last_synced_at":"2025-04-02T09:32:34.588Z","repository":{"id":110680820,"uuid":"104750674","full_name":"wtdcode/BUAAPhyhelper","owner":"wtdcode","description":"Some helpful scripts for the physics experiments at BUAA.","archived":false,"fork":false,"pushed_at":"2017-12-25T08:25:30.000Z","size":367,"stargazers_count":18,"open_issues_count":0,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-20T03:39:28.035Z","etag":null,"topics":["buaa"],"latest_commit_sha":null,"homepage":"","language":"Matlab","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wtdcode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-09-25T13:03:17.000Z","updated_at":"2024-03-24T16:02:57.000Z","dependencies_parsed_at":"2023-04-10T21:30:34.932Z","dependency_job_id":null,"html_url":"https://github.com/wtdcode/BUAAPhyhelper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtdcode%2FBUAAPhyhelper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtdcode%2FBUAAPhyhelper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtdcode%2FBUAAPhyhelper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtdcode%2FBUAAPhyhelper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wtdcode","download_url":"https://codeload.github.com/wtdcode/BUAAPhyhelper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246788746,"owners_count":20834152,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["buaa"],"created_at":"2024-08-01T10:00:57.029Z","updated_at":"2025-04-02T09:32:34.269Z","avatar_url":"https://github.com/wtdcode.png","language":"Matlab","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# BUAAPhyhelper\n\n一个北航实验报告小工具，全是垃圾代码，没什么好看的。\n\n（如果你也写了脚本 欢迎fork和pr~）\n\n## 近期更新\n\n- 添加了1071。\n\n## TODO（咕咕咕咕咕咕咕咕咕咕咕）\n\n- 1021和Matlab兼容\n- 重构1021_1。\n- 重构1051_1部分，考虑自动舍入。\n- **打印和计算分离**\n- 模块化，重复代码写个库。\n\n## FAQ\n\nQ：为什么保留位数和书本不同？\n\nA：我大部分数据都多打印了一些位数，请自行按照“四舍六入五取偶”来得到数据（因为我懒）。\n\nQ：如果我用你的脚本报告扣分了怎么办？\n\nA：本人对脚本产生的任何后果概不负责。\n\n## 1051\n\n### 1.自组电位差计（必做）\n\n按照书本P165输入所有数据后就可以按照书本顺序计算出所有值。\n\n### 测试\n\n`python3 main.py \u003c Test.txt`\n\n和课本上的数据对照即可。\n\n### 2.箱式电位差计测电池电动势\n\n我没做XD。 \n\n### 3.箱式电位差计测固定电阻\n\n电路图略。\n\n### 测试\n\n`python3 main.py \u003c Test.txt`\n\n（其实没有正确答案\n\n### 4.箱式电位差计测电表内阻\n\n跟第二个一模一样的，不额外写了。\n\n## 1021\n\n垃圾仪器，要气死我了.jpg\n\n#### 1.测量冰的熔解热\n\n#### 环境要求\n\n**Octave**（别问我为什么）\n\n如果一定要Matlab，请考虑用适当的积分函数替换cal_area.m中的quadv函数。\n\n#### 实验数据输入\n\n如果要输入你的数据，应该保证以下四个文件和main.m同一目录。\n\n##### const文件\n\n- 环境温度对应的阻值R0（单位千欧）。\n- 冰的温度T1，一般为-21℃。\n- 水的质量m（单位克）。\n- 杯子质量m1（单位克）。\n- 搅拌棒质量m2（单位克）。\n- 冰的质量M（单位克）。\n\n最终输入应该为一个6x1的矩阵。\n\n##### down、melt、up文件\n\n分别对应降温、溶解、升温曲线的数据，要求两列，第一列为时间t，第二列为对应的阻值R（单位千欧），说白了就是实验原始数据。\n\n#### 可控变量\n\n目前只有两个可控变量\n\n- precision 对应面积相等要求的精度\n- step 对应搜索面积相等点时候的区间长度\n\n推荐 precision ≈ 10*step。\n\n#### 最终输出\n\n最终会输出对应的修正图像，L和K以及T2'和T3'。\n\n![](http://a2.qpic.cn/psb?/V10hb9Qz3wPcMq/i2MSZX7D*cdJ2idIgAeub7yEZ0ePx0KLRlp0VFhvgBM!/b/dPkAAAAAAAAA\u0026ek=1\u0026kp=1\u0026pt=0\u0026bo=iASAAogEgAIDACU!\u0026vuin=771644612\u0026tm=1507989600\u0026sce=60-1-1\u0026rf=viewer_311)\n\n### 注意\n\n- 由于采用折线拟合，实际上计算会有很大的误差。\n- K采用解微分方程后线性回归求得，可能跟以往处理不同。\n- **代码非常非常垃圾**。\n\n### 2.测量热功当量\n\n#### 特别注意\n\n本脚本采用的是《电热法测量热功当量实验的新探究》（蔡 晨，李朝荣，李英姿，王 选）中提到新处理方法，如果你没有测K请不要使用。\n\n#### 环境要求\n\n依旧是Octave。\n\n#### 数据输入\n\n##### const文件\n\n- 室温对应的阻值。（单位千欧）\n- 水杯质量。（单位克）\n- 水质量。（单位克）\n- 电压\n\n最终输入应该是一个4x1的矩阵。\n\n##### down、up文件\n\n分别对应测k的时候数据和加热时的数据，要求两列，第一列为时间t，第二列为温度对应的阻值R。\n\n#### 最终输出\n\n- 系数K\n- 热功当量J\n- 相关系数r\n- J不确定度u(J)\n\n## 1042\n\nemmmm，还算轻松的一个实验。\n\n### 1.双电桥测低电阻\n\n#### 环境要求\n\noctave\n\n#### 输入\n\n##### R\n\nR文件输入为四列，分别为对应的铜丝长度（厘米），正测电阻阻值（欧姆），反测电阻阻值（欧姆）以及使用的R1和R2值（欧姆）。\n\n##### D\n\nD文件输入为一列，为D的测量值和游标卡尺实际零点（毫米）。\n\n**最后一行的数据应该是游标卡尺的实际零点（实验室垃圾卡尺零点经常不在0）。**\n\n##### const\n\nconst文件输入只有一行一列，为标准阻值Rn的值（欧姆）。\n\n#### 输出\n\n- 正测反测的平均值Raver\n- 每次得到的Rx\n- b的值\n- 电阻率tho\n- b的不确定度\n- D的a类、b类不确定度以及合成后的不确定度u_D\n- tho的相对不确定度和不确定度\n\n#### 特别注意\n\n其实没什么特别注意的，修约依旧是自己看呗。\n\n### 2.双电桥改单电桥测中电阻\n\n#### 环境要求\n\npython3\n\n#### 使用\n\n`python3 main.py`\n\n然后按照提示输入测得的数据即可。\n\n其中S表示灵敏度。\n\n## 1091\n\n唉，垃圾1091，不多说了。\n\n### 1.迈克尔逊干涉\n\n#### 环境要求\n\npython3\n\n#### 使用\n\n直接\n\n```shell\npython3 main.py\n```\n\n根据提示完成即可。\n\n#### 说明\n\n- 标准值为632.8nm，但是书上并未要求计算两个误差。\n- 相对误差在5%以内都可以接受（大概？）。\n\n### 2.牛顿环干涉\n\n#### 环境要求\n\noctave\n\n#### 输入\n\n##### in\n\n为一个10行2列的矩阵，第一列为第11-20环直径左边的位置，第二列为第11-20环直径右边的位置。\n\n#### 输出\n\n反正做的人也不多，这里从略了。\n\n### 说明\n\n- 没有标准值。\n\n## 1031\n\n还行，赞美于老师。\n\n其他几个实验都没有复杂的数据处理，略了。\n\n### 3.用模拟示波器测量声速\n\n#### 环境要求\n\nOctave.\n\n#### 输入\n\n##### const\n\n应该为一个3x1的矩阵，依次为f1，f2，t。\n\n##### data\n\n应该为一个10x2的矩阵，第一列为第1\\~10个读数，第二列为第11\\~20个读数。\n\n#### 输出\n\n- 声速\n- 不确定度计算\n- 相对误差\n\n#### 注意\n\n- 处理的时候默认你是**连续**测得20个数据，和书上有一定区别。\n- 这个实验精度比较高，一般相对误差应该是小于1%。\n\n## 1071\n\n啊，徐老师讲的真好。\n\n### 2.测量三棱镜的顶角\n\n#### 环境要求\n\n**matlab**\n\n（octave对角度变换没有函数支持，懒得自己写）\n\n#### 输入\n\n##### data\n\n输入为一个nx8的矩阵，分别是a1,b1,a2,b2的度和分值。\n\n#### 输出\n\n- 平均值\n- 顶角A\n- a类b类不确定度\n- 合成不确定度\n\n以上所有输出有度分秒和度两种形式。\n\n### 3.最小偏向角法测棱镜折射率\n\n**matlab**\n\n（octave对角度变换没有函数支持，懒得自己写）\n\n#### 输入\n\n##### data\n\n输入为一个nx8的矩阵，分别是a1,b1,a2,b2的度和分值。\n\n注意这个矩阵是测量最小偏向角的数据。\n\n##### Adata\n\n把第二个实验的数据粘过来改名为Adata即可，这里要用第二个实验的数据的原因见课本。\n\n#### 输出\n\n- 折射率\n- 最小偏向角的a类，b类，合成不确定度\n- 折射率的合成不确定度**（计算的时候没有取对数）**\n\n### 说明\n\n- convert函数其实还存在一定bug，懒得改了。\n- 第三个实验要用到第二个实验的数据。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwtdcode%2FBUAAPhyhelper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwtdcode%2FBUAAPhyhelper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwtdcode%2FBUAAPhyhelper/lists"}