Beni gerçekten etkileyen şey, ortalama hızların gerçekten fazla değişmediği idi.
Grafik yaklaşık 25km / s ile 40km / s arasında değişmektedir ve bu büyük bir değişikliktir. Diğerlerinin de belirttiği gibi, ortalama hızınızı arttırmak, pedallara uygulanan güçte doğrusal olmayan bir artış gerektirir.
Başka bir deyişle, ortalama hızı 25km / s'ten 26km / s'ye çıkarmak 40km / s'den 41km / s'ye yükseltmekten daha kolaydır
Bir zaman makinesi çalacağımı, geri dönüp her TdF parkurunu aynı bisikleti kullanarak süreceğimi söyle. Kazananların ortalama hızlarına uymak için, bu benim üretmem gereken güçtür (çok kaba bir yaklaşım):
(yine, bu bir noktayı göstermek için tasarlanmış, çok kabaca yaklaştırılmış bir grafiktir! Rüzgar, arazi, çizim, kıyı şeridi, yol yüzeyi ve daha pek çok şeyi görmezden gelir.)
Yaklaşık 60 watt'tan 240 watt'a kadar büyük bir değişikliktir ve TdF yarışmacılarının zamanlarını bu kadar fazla artırması pek olası değildir.
Artışın bir kısmı daha güçlü bisikletçilerden (daha iyi eğitim ve beslenme sayesinde) kaynaklanacak, ama kesinlikle hepsi değil.
Gerisi teknolojik gelişmelerden kaynaklanıyor olabilir. Örneğin, daha aerodinamik bir bisiklet, belirli bir ortalama hız için gereken gücü azaltır, tepelere çıkarken daha hafif bir bisikletle aynıdır.
Grafik için kaynak: Her ne kadar benim noktam yukarıdaki grafiğin ne kadar yanlış olduğuna bakılmaksızın geçerli kalsa da, burada onu oluşturmak için kullandığım dağınık komut dosyası
Buradan , CSV'ye dışa aktarılan verileri kullanır ( bu belgeden )
Gerekli watt hesaplamaya ortalama hızı büyük ölçüde basitleştirilmiş olabilir, ama bana sadece gelen komut dosyasını değiştirmek için daha kolay oldu burada benim cevap !
#!/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))"""