🛠️ToolsShed

Calculadora de VO2 Máx

Estima tu capacidad aeróbica máxima (VO2 Máx) usando la prueba de Cooper o Rockport.

What is VO2 Max?

VO2 Max is the maximum rate at which your body can consume oxygen during exercise. It is the gold standard for measuring cardiovascular fitness.

Preguntas Frecuentes

Implementación de Código

import math

def vo2max_cooper(distance_m):
    """
    Cooper 12-minute run test.
    distance_m: metres covered in 12 minutes of maximum effort running.
    Returns VO2 max in mL/kg/min.
    """
    return (distance_m - 504.9) / 44.73

def vo2max_rockport(weight_kg, age, gender, time_min, heart_rate):
    """
    Rockport 1-mile walk test.

    Parameters:
        weight_kg  - body weight in kg
        age        - age in years
        gender     - 1 for male, 0 for female
        time_min   - time to walk 1 mile in decimal minutes
        heart_rate - heart rate (bpm) immediately after finishing

    Returns VO2 max in mL/kg/min.
    """
    weight_lbs = weight_kg * 2.20462
    return (132.853
            - 0.0769 * weight_lbs
            - 0.3877 * age
            + 6.315  * gender
            - 3.2649 * time_min
            - 0.1565 * heart_rate)

def vo2max_category(vo2max, age, gender):
    """Classify VO2 max into fitness categories (ACSM guidelines)."""
    # Simplified male/female thresholds for general adults
    if gender == 1:  # male
        if   vo2max < 35: return "Below Average"
        elif vo2max < 44: return "Average"
        elif vo2max < 52: return "Good"
        else:             return "Excellent"
    else:            # female
        if   vo2max < 28: return "Below Average"
        elif vo2max < 37: return "Average"
        elif vo2max < 44: return "Good"
        else:             return "Excellent"

# --- Examples ---
# Cooper: ran 2,800 m in 12 minutes
cooper = vo2max_cooper(2800)
print(f"Cooper VO2max: {cooper:.1f} mL/kg/min")
print(f"Category: {vo2max_category(cooper, 30, 1)}")

# Rockport: 35-year-old woman, 65 kg, walked 1 mile in 14 min, HR 148
rock = vo2max_rockport(65, 35, 0, 14.0, 148)
print(f"Rockport VO2max: {rock:.1f} mL/kg/min")
print(f"Category: {vo2max_category(rock, 35, 0)}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.