在一段时间内,每几秒记录一次数据(直径),并且同时打点记录循环,在打点的时间标记为数字1。现在以时间为x轴,期间内所有的直径为y的值,输出一张图片,表示直径在单位时间内的变化。并且以一次打点作为一个循环,为这段时间内所有循环所产生的直径变化计算出平均波形。
我知道将每个循环内对应数值求平均就可以在输出图像的时候得到一个平均的图像,但是现在遇到的问题是每个循环的时间长度不一致。
数据结构举例
时间 | 直径 | 打点 |
---|---|---|
0 | 0.1 | 1 |
1 | 0.2 | 单元格 |
2 | 0.3 | 单元格 |
3 | 0.4 | 单元格 |
4 | 0.3 | 单元格 |
5 | 0.2 | 单元格 |
6 | 0.1 | 1 |
7 | 0.2 | 单元格 |
8 | 0.2 | 单元格 |
9 | 0.3 | 单元格 |
10 | 0.4 | 单元格 |
11 | 0.4 | 单元格 |
12 | 0.3 | 单元格 |
13 | 0.2 | 单元格 |
14 | 0.1 | 1 |
因为一个循环从打点开始,所以第6秒为第2个循环的第0秒,第7秒为第2个循环的第1秒……
现在第一个循环共6秒有6组数据,第二个循环共8秒有8组数据。不能通过简单地通过求每个循环每秒数值的平均值来获取一个平均的波形。
假如两个循环像这样长度一致
时间 | 直径 | 打点 |
---|---|---|
0 | 0.1 | 1 |
1 | 0.2 | 单元格 |
2 | 0.3 | 单元格 |
3 | 0.4 | 单元格 |
4 | 0.3 | 单元格 |
5 | 0.2 | 单元格 |
6 | 0.1 | 1 |
7 | 0.2 | 单元格 |
8 | 0.3 | 单元格 |
9 | 0.4 | 单元格 |
10 | 0.3 | 单元格 |
11 | 0.2 | 单元格 |
12 | 0.1 | 1 |
我就可以很简单地得到两个循环的平均值
时间 | 直径 | 打点 |
---|---|---|
0 | 0.1 | 1 |
1 | 0.2 | 单元格 |
2 | 0.3 | 单元格 |
3 | 0.4 | 单元格 |
4 | 0.3 | 单元格 |
5 | 0.2 | 单元格 |
可是现在两个循环的长度不一致,如何得到平均值呢?
我的一个想法是将x轴用一个循环的百分比来表示
时间 | 直径 | 打点 |
---|---|---|
0% | 0.1 | 1 |
20% | 0.2 | 单元格 |
40% | 0.3 | 单元格 |
60% | 0.4 | 单元格 |
80% | 0.3 | 单元格 |
100% | 0.2 | 单元格 |
这样每个循环的长度就都是1。但是要怎么使每个循环都可以转换成一致的百分比格式呢?
就是一直循环到 下一个 打点为1?
两个变量
data_sum
count
以打点为标志
循环完成就行了。
你手工做一个列表, 这样大家好给示范代码。