Yang benar-benar mengejutkan saya adalah kecepatan rata-rata tidak banyak berubah
Grafik berkisar dari sekitar 25 km / jam hingga lebih dari 40 km / jam, dan itu adalah perubahan besar. Seperti yang disebutkan orang lain, meningkatkan kecepatan rata-rata Anda membutuhkan peningkatan daya non-linear yang diterapkan pada pedal.
Dengan kata lain, meningkatkan kecepatan rata-rata dari 25 km / jam menjadi 26 km / jam lebih mudah daripada meningkatkan dari 40 km / jam menjadi 41 km / jam
Katakanlah saya mencuri mesin waktu, kembali dan naik setiap kursus TdF, menggunakan sepeda yang sama persis. Untuk menyamai kecepatan rata-rata pemenang, ini adalah watt yang saya butuhkan untuk menghasilkan (well, perkiraan yang sangat kasar):
(sekali lagi, ini adalah grafik yang sangat kasar, dirancang untuk menggambarkan suatu titik! Ini mengabaikan hal-hal seperti angin, medan, peregangan, meluncur, permukaan jalan dan banyak hal lainnya)
Dari sekitar 60 watt menjadi 240 watt adalah perubahan besar, dan sangat kecil kemungkinannya bahwa pesaing TdF telah meningkatkan watt mereka sebanyak ini dari waktu ke waktu.
Sebagian dari peningkatan ini adalah karena pengendara sepeda yang lebih kuat (berkat pelatihan dan nutrisi yang lebih baik), tetapi tentu saja tidak semuanya.
Sisanya kemungkinan karena peningkatan teknologi. Misalnya, sepeda yang lebih aerodinamis akan mengurangi daya yang dibutuhkan untuk kecepatan rata-rata yang diberikan, sama dengan sepeda yang lebih ringan ketika naik bukit.
Sumber untuk grafik: Meskipun poin saya harus tetap valid terlepas dari seberapa tidak akuratnya grafik di atas, berikut adalah skrip berantakan yang saya gunakan untuk menghasilkannya
Ini menggunakan data dari sini , diekspor ke CSV (dari dokumen ini )
Kecepatan rata-rata untuk perhitungan watt yang dibutuhkan bisa sangat disederhanakan, tetapi lebih mudah bagi saya untuk hanya memodifikasi skrip dari jawaban saya di sini !
#!/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))"""