Was mir aber wirklich auffiel, war, dass sich die Durchschnittsgeschwindigkeiten wirklich nicht viel verändert haben
Die Tabelle reicht von etwa 25km/h bis über 40km/h, und das ist eine große Veränderung. Wie andere bereits erwähnt haben, erfordert die Erhöhung der Durchschnittsgeschwindigkeit eine nicht-lineare Erhöhung der auf die Pedale ausgeübten Kraft.
Mit anderen Worten, die Durchschnittsgeschwindigkeit von 25km/h auf 26km/h zu erhöhen ist einfacher als von 40km/h auf 41km/h zu erhöhen
Angenommen, ich würde eine Zeitmaschine stehlen, zurückgehen und jede TdF-Strecke mit dem exakt gleichen Fahrrad fahren. Um die Durchschnittsgeschwindigkeit des Siegers zu erreichen, müsste ich folgende Wattleistung erbringen (eine sehr grobe Annäherung):
(auch dies ist eine sehr grobe Annäherung, um einen Punkt zu illustrieren! Es ignoriert Dinge wie Wind, Gelände, Zugkraft, Ausrollen, Straßenbelag und viele andere Dinge)
Von etwa 60 Watt auf 240 Watt ist eine enorme Veränderung, und es ist sehr unwahrscheinlich, dass die TdF-Teilnehmer ihre Wattzahl im Laufe der Zeit so stark erhöht haben.
Ein Teil des Anstiegs wird auf leistungsstärkere Radfahrer zurückzuführen sein (dank besserem Training und besserer Ernährung), aber sicherlich nicht der gesamte Anstieg.
Der Rest ist wahrscheinlich auf technische Verbesserungen zurückzuführen. Zum Beispiel wird ein aerodynamischeres Fahrrad die benötigte Leistung für eine bestimmte Durchschnittsgeschwindigkeit verringern, ebenso wie ein leichteres Fahrrad, wenn es bergauf geht.
Quelle für die Grafik: Obwohl mein Punkt unabhängig davon gültig bleiben sollte, wie ungenau das obige Diagramm ist, ist hier das chaotische Skript, das ich verwendet habe, um es zu generieren
Es verwendet die Daten aus hier , exportiert nach CSV (aus diesem Dokument )
Die Berechnung der Durchschnittsgeschwindigkeit zu den benötigten Watt könnte stark vereinfacht werden, aber es war einfacher für mich, einfach das Skript aus meiner Antwort hier zu modifizieren!
#!/usr/bin/env python2
"""Wattage required to match pace of TdF over the years
Written in Python 2.7
"""
def Cd(desc):
"""Coefficient of drag
Coefficient of drag is a dimensionless number that relates an
objects drag force to its area and speed
"""
values = {
"tops": 1.15, # Source: "Bicycling Science" (Wilson, 2004)
"hoods": 1.0, # Source: "Bicycling Science" (Wilson, 2004)
"drops": 0.88, # Source: "The effect of crosswinds upon time trials" (Kyle,1991)
"aerobars": 0.70, # Source: "The effect of crosswinds upon time trials" (Kyle,1991)
}
return values[desc]
def A(desc):
"""Frontal area is typically measured in metres squared. A
typical cyclist presents a frontal area of 0.3 to 0.6 metres
squared depending on position. Frontal areas of an average
cyclist riding in different positions are as follows
http://www.cyclingpowermodels.com/CyclingAerodynamics.aspx
"""
values = {'tops': 0.632, 'hoods': 0.40, 'drops': 0.32}
return values[desc]
def airdensity(temp):
"""Air density in kg/m3
Values are at sea-level (I think..?)
Values from changing temperature on:
http://www.wolframalpha.com/input/?i=%28air+density+at+40%C2%B0C%29
Could calculate this:
http://en.wikipedia.org/wiki/Density_of_air
"""
values = {
0: 1.293,
10: 1.247,
20: 1.204,
30: 1.164,
40: 1.127,
}
return values[temp]
"""
F = CdA p [v^2/2]
where:
F = Aerodynamic drag force in Newtons.
p = Air density in kg/m3 (typically 1.225kg in the "standard atmosphere" at sea level)
v = Velocity (metres/second). Let's say 10.28 which is 23mph
"""
def required_wattage(speed_m_s):
"""What wattage will the mathematicallytheoretical cyclist need to
output to travel at a specific speed?
"""
position = "drops"
temp = 20 # celcius
F = Cd(position) * A(position) * airdensity(temp) * ((speed_m_s**2)/2)
watts = speed_m_s*F
return watts
#print "To travel at %sm/s in %s*C requires %.02f watts" % (v, temp, watts)
def get_stages(f):
import csv
reader = csv.reader(f)
headings = next(reader)
for row in reader:
info = dict(zip(headings, row))
yield info
if __name__ == ' __main__':
years, watts = [], []
import sys
# tdf_winners.csv downloaded from
# http://www.guardian.co.uk/news/datablog/2012/jul/23/tour-de-france-winner-list-garin-wiggins
for stage in get_stages(open("tdf_winners.csv")):
speed_km_h = float(stage['Average km/h'])
dist_km = int(stage['Course distance, km'].replace(",", ""))
dist_m = dist_km * 1000
speed_m_s = (speed_km_h * 1000)/(60*60)
watts_req = required_wattage(speed_m_s)
years.append(stage['Year'])
watts.append(watts_req)
#print "%s,%.0f" % (stage['Year'], watts_req)
print "year = c(%s)" % (", ".join(str(x) for x in years))
print "watts = c(%s)" % (", ".join(str(x) for x in watts))
print """plot(x=years, y=watts, type='l', xlab="Year of TdF", ylab="Average watts required", ylim=c(0, 250))"""