🛠️ToolsShed

VO2最大計算機

クーパーテストまたはロックポートテストを使用して最大有酸素能力(VO2Max)を推定。

VO2最大とは?

VO2最大は運動中に体が酸素を消費できる最大速度です。心肺フィットネスの測定においてゴールドスタンダードです。

よくある質問

コード実装

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.