} tempnum=BGZ_bg[temp]; BGZ_bg[temp]=BGZ_bg[i]; BGZ_bg[i]=tempnum; }} 运行结果: (1) 上跨零点与规则波一样,都要通过上跨零点的选取来进行波的选取(由于数据较多,在此不一一列出) (2 )波高分析①相邻两个上跨零点间取定为一个单波取每个波中最高点与最低点之差为波高,并按从大到小排序,依次为: 9 单位: cm ②将前三分之一波高取平均得有效波高为 10.8237cm 10 五、实验结论和反思: 本次实验本人采用的是 6 通道数据,经测量和数据分析可得: ①规则波平均波高为 11.4388cm ;②不规则波有效波高为 10.8237cm 。在本次实验过程中我使用了 c++ 作为平台进行数据处理, 程序的算法大致为“数据导入- 上跨零点法取波- 找最大最小值并求差得波高- 波高求平均( 不规则波时先排序再取前三分之一大波平均值) 通过总结发现,本实验的程序算法还有诸多可改进之处: 1) 数据导入处, 我使用的是文件导入, 而实际情况下“.800 ”后缀的文件无法直接导入,尤其是四列数据而只取用一列数据时,需要通过 excel 进行编辑,再复制到 txt 文件, 最后才能被主程序引用。在实际操作过程中, 我花费了大量时间在这一步上, 而这明显阻碍了实验的高效性。因此在之后的实验中应该在数据导入方式上有所改进, 最好能做到“.800 ”文件的直接取用,以提高效率。 2 )在波高排序时,我采用了直接比较法,资源占用较大,尤其在处理较多数据时效率低下,应采用冒泡法等替代方法以节省内存占用; 与此同时,我在实验过程中也存在一些疑惑: 1 )由于规则波和不规则波的采样时间分别为 20s 和 80s ,那么所求得的波峰值和波谷值实际上也只是一组数据中的极值,可能并不能反映波高的真实情况。部分程序运行结果: 规则波不规则波