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.