omwin密立根油滴实验数据处理程序_实验验证的一般方法

0. 理论研究

“理论研究”提出一个命题。这个命题超前于当前的客观基础,命题的正确性需要通过实验验证。但命题又不能超前客观基础太多,否则命题的内容会显得空洞、不切实际。

1. 算法设计

“算法”是由理论研究向程序代码实现的中间步骤,是验证理论可行性的第一步。

7fd6bc3149fa8a8cfbe230a68a00d0f0.png
图 1 从理论到实现的过程

算法设计包括问题描述、算法原理、算法实现步骤等内容。

613d4c2ff7e001738540e0bb29feb54b.png
图 2 算法设计流程

问题描述要讲清当前算法要实现什么功能、输入是什么、输出是什么。算法原理是从数学、物理原理角度介绍的算法思路。描述算法原理的直观方式是示意图。[超1] 算法实现步骤是更加具体的算法实现流程,算法实现的最终结果是程序流程图和伪代码。程序流程图简单直观,方便程序调试。编写伪代码降低了后续编写实现程序的工作量,也有助于验证算法的可行性。

0b6bba6e599a4e1d53867941d9869c32.png
图 3 算法实现的结果

2. 实验方案设计

实验验证通常是找一些特定应用场景对理论进行必要性验证。实验方案设计包含四个步骤。

b1790e08253ba0015bc9d3a3d7d15287.png
图 4 实验方案设计步骤

(1). 明确实验目的

第一步是明确实验目的,这有助于防止实验过程跑偏。整个方案都要围绕实验目的展开。

(2). 制定实验验证方案

第二步是制定实验验证方案。验证方案要细化到每个操作步骤,尽可能提高可行性,降低实际操作难度。

(3). 程序框架设计

第三步是设计程序框架。设计过程要先考虑采用哪个平台(Matlab、Simulink、Python、ROS或其他平台);然后要借用面向对象的思想,规划好程序架构,给出架构图;最后要画出主程序的流程图。

(4). 期望获得的结果/对比实验结果

实验方案要对实验结果有所预期。这个预期一方面来源于先前的理论分析所得到的期望结果,另一方面来源于参考文献的积累所得到的对比结果。

3. 编写程序,完成实验报告初稿

编写程序是整个实验过程的核心,其难度最大,耗时最长且无法预期。实验程序的编写要按照先前设计的程序架构图及程序流程图完成。编写程序及进行实验的记录文档就是实验报告初稿。

实验报告初稿包括实验方案、实验目的、期望获得的结果/对比实验结果等内容以及实验参数、实验曲线等内容。

4a76fb4923f1bd5231519b76fdc32554.png
图 5 实验报告初稿包含的内容

实验模型及实验参数设计属于实验报告的内容,但在第一轮设计实验方案时,为了降低编写程序、完成实验的压力,同时也为了提高实验方案的可行性,最好将实验参数设计的部分也一并考虑了。

实验验证结果是在进行实验过程中记录的数据、图线等内容。实验验证方案中每一项条目完成后都应该有一些结果,这些结果最好以图的形式记录。如果不行,则尽量以不可更改的文字、截图形式记录,以保证实验结果的可信度。

4. 问题调试

当实验过程出现问题时,研究过程要暂停下来转而进行问题调试。问题调试的流程如图 6所示。首先要把当前出现的问题描述清楚,然后要对存在的故障进行定位,最后要对发现的故障提出解决方案。

20472b8f70c8122d42ceb6e1e8014e15.png
图 6 问题调试的总流程

问题描述是调试的第一步。要先将当前的直观现象记录下来,尽量以原始数据的形式记录。然后提出期望的现象。期望现象是在实验方案设计初期就已经存在的,它可能来源于常识,也可能来源于其他文献资料。直观现象和期望现象存在差异。它们两个中哪一个更合理需要通过现象分析来判断。有的时候直观现象是正确的,那么先前的预期存在没考虑到的地方,调试过程结束。 有的时候期望现象是正确的,那么说明当前的程序或算法出现了故障,需要进行故障定位。

ce76e0d140ce8afe2f89bb33a300b54b.png
图 7 问题描述包含的内容

故障定位是问题调试的核心。当找到故障发生的位置时,调试过程就已经完成一大半了。在第一轮粗排查时,为了提高速度,先将程序大致分为几个部分,通过排查发现是哪一块出现了问题。在第二轮精排查时,要关注模块的输入信号是否正常。若输入信号正常而输出信号不正常,则说明该模块功能异常。然后再进行更深入的故障分析。

8d46bf28a3f4ea335f663c474235982d.png
图 8 故障定位的步骤

故障排查的四部曲如图 9所示。首先要计划好拟执行的操作,然后在执行该操作前想好预期的结果,接着执行该操作并观察实验结果是否符合预期,最后根据结果得出所排查部分是否发生异常的结论。

8104698b6604c7d6baf972e8173c8a43.png
图9 故障排查的流程

图 10是一个故障排查的示例。在这个示例中,故障排查的目的是检查输入的自旋轴信号是否发生异常,拟执行的操作是作出自旋轴随时间变化的曲线,执行操作前的预期结果是自旋轴信号应保持不变,在执行操作后,实际的实验结果符合预期,所以最终得出的结论是输入的自旋轴信号没有问题。需要再排查其他部分。

2c3db9b3eb3d6f486ebfd20148964fd4.png
图10 故障排查的示例截图

上述故障排查流程适用于单个模块发生异常的情况。当发生一些复合故障时,例如多个模块配合工作异常,可能需要进行多轮反复排查才能确定故障位置。

故障位置确定之后,需要对故障进行分析并提出解决方案。备选方案可能不止一个,有的方案来源于网上,有的来源于自己的思考。将这些方案罗列出来,按可行性进行排序,并从可行性最高的方案开始尝试,直到问题解决。

5. 数据处理与分析

数据处理与分析是在完成实验后作出实验曲线、分析实验曲线的过程。分析过程首先要观察曲线,然后描述曲线的特征,接着对比其他文献的实验结果,最后得出结论。

由于目前尚没有太复杂的处理与分析过程,因此对该过程的详细描述需要后续来补充。

6. 完成实验报告终稿

实验报告终稿是在以上内容完成后进行通稿完善的结果。报告的终稿要包含结论,并包含对实验过程的总结,以便后续工作的开展。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值