由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Running版 - 刚做了个分析running efficiency的小程序
相关主题
Turkey Trot 6 M race reportRe: FFF的训练日记 (转载)
雨中5k sub20 PR了从零开始,挑战自我 – A 12 Week Journey
NYCHM - PR了7分半今天跑tempo不知道为啥这么high
第二周Marathon pace run三千米PR了
[梦幻破灭了] 别了, 速度之星呼唤BSO
Pace run on hilly part of the Marathon course这周每天一个Tempo
刚刚出去跑了一圈easy run第二次马拉松 (转载)
5K Time TrialEmpire State Marathon报告
相关话题的讨论汇总
话题: datetime话题: avghr话题: interval话题: continue话题: efficiency
进入Running版参与讨论
1 (共1页)
y***r
发帖数: 1845
1
把跑个头上的数据用XML下载下来之后,可以把interval分析一下,看running
efficiency随时间的变化,知道每天跑垃圾迈是不是有提高。
计算方法是每个interval的平均速度除以平均心率。用全程的话感觉有些粗糙,用
interval感觉稍微细一些,如果不考虑耐力因素的话。程序可以忽略第一段心率不准的
数据。
看了一下图,发现虽然每个星期的速度都不一样,有的时候慢有的时候慢,但效率一直
在上升。另外数据显示跑的太慢效率不高,太快(接近7分的时候)也不够高,而且影
响之后里程的效率。
y***r
发帖数: 1845
2
看Excel的图。有些数据一看就不对。还有很多数据点在趋势线之下很多的,那是真正
的垃圾迈。

【在 y***r 的大作中提到】
: 把跑个头上的数据用XML下载下来之后,可以把interval分析一下,看running
: efficiency随时间的变化,知道每天跑垃圾迈是不是有提高。
: 计算方法是每个interval的平均速度除以平均心率。用全程的话感觉有些粗糙,用
: interval感觉稍微细一些,如果不考虑耐力因素的话。程序可以忽略第一段心率不准的
: 数据。
: 看了一下图,发现虽然每个星期的速度都不一样,有的时候慢有的时候慢,但效率一直
: 在上升。另外数据显示跑的太慢效率不高,太快(接近7分的时候)也不够高,而且影
: 响之后里程的效率。

y***r
发帖数: 1845
3
发现附件不能贴程序。那就直接放这里吧。有兴趣的可以自己改改试试。
#### COPY START ####
# Reads log.xml exported from runningahead.com and analyzes the correlation
between the heart rate and pace.
#
# How to use this script:
#
# 1. Go to runningahead website, Training Log, Tools, click "Download
training data to your computer".
# 2. Select XML and click Download button.
# 3. Open the zip file and extract the log.xml to a folder.
# 4. In PowerShell console, go to the above folder and run ".\RA-
HeartRatePaceCorrelation.ps1 > data.csv".
# 5. Open data.csv in Excel.
Param (
[DateTime] $MinTime = [DateTime]::MinValue,
[DateTime] $MaxTime = [DateTime]::MaxValue,
[String] $LogXmlPath = "log.xml",
[bool] $IgnoreWarmupInterval = $True,
[int] $IgnoreHighHR = 180
)
Begin
{
$mileInMeter = 1609.344
}
Process
{
# Reads the entire log.xml
$alldata = [XML](Get-Content $LogXmlPath)

# Each individual event
$events = $alldata.RunningAHEADLog.EventCollection.Event

# CSV header
Write-Output ("{0}`t{1}`t{2}`t{3}" -f "Time", "Avg HR", "Pace", "
Efficiency")

foreach ($event in $events) {
# Only processes Run event
if ($event.typeName -ne "Run") {
continue
}

# Runningahead do not store time in UTC
$time = [DateTimeOffset]::Parse($event.time).DateTime
if ($time -lt $MinTime -or $time -gt $MaxTime) {
continue
}

# If the event has no interval, then the heart rate isn't available
either
if ($event.IntervalCollection -eq $null) {
continue
}

$intervals = $event.IntervalCollection.Interval
# Optional ignore the first interval when the heart rate isn't
accurate
if ($intervals.Count -gt 1 -and $IgnoreWarmupInterval) {
$intervals = $intervals[1..$intervals.Count]
}

foreach ($interval in $intervals) {
if ($interval.HeartRate -eq $null) {
continue
}

[double]$distance = $interval.Distance.InnerText
[double]$seconds = $interval.Duration.seconds
[double]$avgHR = $interval.HeartRate.AvgHR
if ($avgHR -gt $IgnoreHighHR) {
continue
}

if ($distance -lt 0.001) {
continue
}

$pace = [TimeSpan]::FromSeconds($seconds / $distance)
$eff = $distance * $mileInMeter / $seconds / $avgHR * 100
Write-Output ("{0}`t{1}`t{2}`t{3}" -f $time, $avgHR, $pace, $eff)
}
}
}
#### END ####
w********6
发帖数: 12977
4
谢谢,我文科生不知道你这个啥程序? C++,还是excel的micro啥的
y***r
发帖数: 1845
5
这是PowerShell,windows上存成run.ps1,可以在powershell console里面运行。

【在 w********6 的大作中提到】
: 谢谢,我文科生不知道你这个啥程序? C++,还是excel的micro啥的
d******0
发帖数: 22800
6
看晕了。那个y轴数字efficiency是咋算的啊。
y***r
发帖数: 1845
7
For a given interval
[Number of meters] / [Number of seconds] / [Average heart rate] * 100

【在 d******0 的大作中提到】
: 看晕了。那个y轴数字efficiency是咋算的啊。
d******0
发帖数: 22800
8
速度/心率 比。有意思!

【在 y***r 的大作中提到】
: For a given interval
: [Number of meters] / [Number of seconds] / [Average heart rate] * 100

y***r
发帖数: 1845
9
速度和心率肯定不是线性关系,但在经济巡航速度附近可以这样近似。如果单看速度,
不把effort因素考虑进去,没法正确评估身体状况的改善和跑步效率的提高。
这个比值随着时间应该逐渐提高,也就是说同样心率越来越快,或者同样速度心率降低
。这个提高有两方面因素,心肺功能改善,跑姿改进。如果发现反常情况,要么是没有
进步,要么是身体有问题。
对于我这样先天不足、起步又很晚的菜鸟,跟踪分析并不断改进才好。

【在 d******0 的大作中提到】
: 速度/心率 比。有意思!
y***r
发帖数: 1845
10
如果有谁对PowerShell不熟悉,可以把数据从跑个头上导出,我帮你运行程序,生成
CSV文件,然后就可以自己用Excel打开分析了。
相关主题
Pace run on hilly part of the Marathon courseRe: FFF的训练日记 (转载)
刚刚出去跑了一圈easy run从零开始,挑战自我 – A 12 Week Journey
5K Time Trial今天跑tempo不知道为啥这么high
进入Running版参与讨论
y***r
发帖数: 1845
11


【在 y***r 的大作中提到】
: 如果有谁对PowerShell不熟悉,可以把数据从跑个头上导出,我帮你运行程序,生成
: CSV文件,然后就可以自己用Excel打开分析了。

d******0
发帖数: 22800
12
这样我就会用了,求mark啊。
y***r
发帖数: 1845
13
看来是同行,哈哈。
刚把程序更新了一下,时区没有问题了。之前需要自己调整offset,夏令时也不对。

【在 d******0 的大作中提到】
: 这样我就会用了,求mark啊。
y***r
发帖数: 1845
14
附图是过去各个interval的配速和心率图。从140心率上就能看出半年的进步。上面标
注的是昨天的数据点。
h*******t
发帖数: 2679
15
跑个头可以画vo2 max的图。直接画出来就行了。。。。

【在 y***r 的大作中提到】
: 把跑个头上的数据用XML下载下来之后,可以把interval分析一下,看running
: efficiency随时间的变化,知道每天跑垃圾迈是不是有提高。
: 计算方法是每个interval的平均速度除以平均心率。用全程的话感觉有些粗糙,用
: interval感觉稍微细一些,如果不考虑耐力因素的话。程序可以忽略第一段心率不准的
: 数据。
: 看了一下图,发现虽然每个星期的速度都不一样,有的时候慢有的时候慢,但效率一直
: 在上升。另外数据显示跑的太慢效率不高,太快(接近7分的时候)也不够高,而且影
: 响之后里程的效率。

m**t
发帖数: 1956
16
vo2max的估算和心率没啥关系吧

【在 h*******t 的大作中提到】
: 跑个头可以画vo2 max的图。直接画出来就行了。。。。
h*******t
发帖数: 2679
17
同样的心率下,v上去了就行了。

【在 m**t 的大作中提到】
: vo2max的估算和心率没啥关系吧
y***r
发帖数: 1845
18
几个月的时间把心率控制在同一个数值谈何容易。所以要对数据做后处理。

【在 h*******t 的大作中提到】
: 同样的心率下,v上去了就行了。
1 (共1页)
进入Running版参与讨论
相关主题
Empire State Marathon报告[梦幻破灭了] 别了, 速度之星
果然路跑和绕操场差好多呀, 5k x2Pace run on hilly part of the Marathon course
CIM2011报告刚刚出去跑了一圈easy run
投机取巧的CIM5K Time Trial
Turkey Trot 6 M race reportRe: FFF的训练日记 (转载)
雨中5k sub20 PR了从零开始,挑战自我 – A 12 Week Journey
NYCHM - PR了7分半今天跑tempo不知道为啥这么high
第二周Marathon pace run三千米PR了
相关话题的讨论汇总
话题: datetime话题: avghr话题: interval话题: continue话题: efficiency