Calculadora de Zonas de Frecuencia Cardíaca
Calcula tus 5 zonas de entrenamiento de frecuencia cardíaca según tu edad y frecuencia cardíaca en reposo.
La calculadora de zonas de frecuencia cardíaca identifica tus cinco zonas de entrenamiento basándose en tu edad y opcionalmente tu frecuencia cardíaca en reposo medida. Entrenar en zonas específicas permite orientar diferentes adaptaciones fisiológicas: desde la recuperación hasta la maximización del VO2 máx.
Introduce tu edad y la herramienta estima tu Frecuencia Cardíaca Máxima (FCM) usando la fórmula más común: 220 menos edad. Si conoces tu FCM real de una prueba de fitness, introdúcela para obtener zonas más precisas.
Para usar las zonas de FC de manera efectiva, usa un monitor de FC durante los entrenamientos y trata de mantenerte dentro de la zona objetivo. La mayoría de los atletas recreativos se benefician de pasar la mayor parte del tiempo de entrenamiento (alrededor del 80%) en las zonas 1-2.
Preguntas Frecuentes
Implementación de Código
def calculate_hr_zones(age: int, resting_hr: int = 60, method: str = "fox") -> dict:
"""
Calculate heart rate training zones.
method: 'fox' (220 - age), 'tanaka' (208 - 0.7 * age), 'karvonen' (uses resting HR)
"""
if method == "tanaka":
max_hr = 208 - 0.7 * age
else:
max_hr = 220 - age
if method == "karvonen":
hrr = max_hr - resting_hr # Heart Rate Reserve
zones = {
"Zone 1 (Recovery)": (resting_hr + 0.50 * hrr, resting_hr + 0.60 * hrr),
"Zone 2 (Aerobic)": (resting_hr + 0.60 * hrr, resting_hr + 0.70 * hrr),
"Zone 3 (Tempo)": (resting_hr + 0.70 * hrr, resting_hr + 0.80 * hrr),
"Zone 4 (Threshold)": (resting_hr + 0.80 * hrr, resting_hr + 0.90 * hrr),
"Zone 5 (Max)": (resting_hr + 0.90 * hrr, max_hr),
}
else:
zones = {
"Zone 1 (Recovery)": (0.50 * max_hr, 0.60 * max_hr),
"Zone 2 (Aerobic)": (0.60 * max_hr, 0.70 * max_hr),
"Zone 3 (Tempo)": (0.70 * max_hr, 0.80 * max_hr),
"Zone 4 (Threshold)": (0.80 * max_hr, 0.90 * max_hr),
"Zone 5 (Max)": (0.90 * max_hr, max_hr),
}
print(f"Age: {age}, Max HR: {max_hr:.0f} bpm, Method: {method}")
for name, (lo, hi) in zones.items():
print(f" {name}: {lo:.0f} - {hi:.0f} bpm")
return zones
calculate_hr_zones(age=30, resting_hr=65, method="karvonen")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.