心拍ゾーン計算機
年齢と安静時心拍数に基づいて5つのトレーニング心拍ゾーンを計算します。
心拍数ゾーン計算機は、年齢とオプションで測定した安静時心拍数に基づいて、5つのトレーニング心拍数ゾーンを特定します。特定の心拍数ゾーンでのトレーニングにより、異なる生理的適応を目標にできます:ゾーン1(回復)は最小限の疲労でベースフィットネスを改善し、ゾーン2(有酸素ベース)は脂肪燃焼と持久力をトレーニングし、ゾーン3〜5はそれぞれより高い強度での改善をもたらします。
年齢を入力すると、ツールは最も一般的な公式(220マイナス年齢)を使用して最大心拍数(MHR)を推定します。フィットネステストから実際のMHRがわかっている場合は、より正確なゾーンのために入力してください。
心拍数ゾーンを効果的に使用するには、ワークアウト中に心拍数モニターを着用し、計画した努力期間中に目標ゾーン内に留まるよう努めてください。
よくある質問
コード実装
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.