使用方法
- 在「年龄」里填周岁,允许 6 到 120 岁,默认示例是 35 岁。填小数、0、负数或超过 120 都会被拦下并说明允许范围。
- 在「最大心率公式」里选一个回归方程,默认 Haskell & Fox 的
220 − 年龄。切到 Tanaka 会变成208 − 0.7 × 年龄,35 岁时结果从 185 变成 183.5 bpm。 - 在「档位步进」里选 5% 或 10%。5% 档从 40% 排到 100% 共 13 档,10% 档从 50% 排到 100% 共 6 档。
- 点「计算」,或在年龄输入框里按 Enter。结果区先给出最大心率,再给出低、中、高三个强度区间,最后是档位表。
- 档位表默认显示 12 行,点「加载更多」补上剩余的 100% 一档;「导出 CSV」带 BOM 头,Excel 打开中文不乱码。
这个最大心率比例计算器能解决什么
手上有心率带或手表,却不知道该把心率维持在多少:输入年龄就能拿到 40% 到 100% 的完整档位表,直接对照着看当前处在哪个档。
想判断一次训练到底算不算「中等强度」:本页把 64%~76% 和 77%~95% 这两段单独算出来,35 岁分别是 118~141 bpm 和 142~176 bpm,不用自己拿计算器乘。
怀疑「220 − 年龄」对自己不准:切换另外三个公式看差异。同一年龄下四个公式的极差,35 岁是 3.2 bpm,80 岁会拉大到 12.0 bpm。
要核对别人的计算结果:档位表给出了每一档的原始乘积和取整结果,70% 档在 35 岁是 129.5、取整 130 bpm,对不上就是取整方式不一样。
本页按「最大心率的百分比」计算,不需要静息心率。如果你有静息心率数据、想用心率储备法(Karvonen)算,那属于目标心率计算器的口径。本页也不估算热量,消耗量请看跑步消耗卡路里计算器。
原理与规则说明
最大心率比例计算器只做两步运算:先用回归方程估最大心率,再乘百分比。四个公式都是公开文献里的线性回归方程,不是物理定律:Haskell & Fox(1970)是 220 − 年龄;Tanaka 等(2001)是 208 − 0.7 × 年龄;Gellish 等(2007)是 207 − 0.7 × 年龄;Robergs & Landwehr(2002)是 205.8 − 0.685 × 年龄。档位用 Math.round(HRmax × 比例 / 100) 取整。
为什么默认取 220 − 年龄:它是流传最广、也最容易被别人复核的那一个,且在 40 岁以下与 Tanaka 的结果差得不多——实测 20 岁时四个公式的极差是 7.9 bpm,35 岁只有 3.2 bpm。但 40 岁以后 220 − 年龄 系统性偏低:实测 65 岁极差 7.5 bpm、80 岁极差 12.0 bpm,所以本页把另外三个公式并列出来供切换,而不是只给一个数字。
为什么档位步进默认 5%:相邻档之差等于 0.05 × HRmax,35 岁时是 9.25 bpm、取整后 9 bpm。再细分到 1% 只会落进日常心率的自然波动范围,读数没有指导意义;选 10% 则只剩 6 档,做间歇训练时又太粗。
为什么用 Math.round 而不是 Math.floor 或 toFixed(0):心率是整数计数,四舍五入最贴近手表的显示习惯。实测 185 × 0.55 = 101.75,Math.round 给 102、Math.floor 给 101,差 1 bpm;本页统一用 Math.round,并同时显示原始乘积,方便与别的实现对齐。
强度分段的依据是 ACSM(美国运动医学会)《运动测试与处方指南》的通用分级:低强度取最大心率的 50%~60%,中等强度 64%~76%,高强度 77%~95%。这三个区间是区间值而不是本页自创的档位。
完整示例(数值仅作演示)
年龄 35 岁、Haskell & Fox 公式:最大心率 220 − 35 = 185 bpm。三条强度区间分别是 50%~60% 的 93~111 bpm、64%~76% 的 118~141 bpm、77%~95% 的 142~176 bpm。
完整档位(5% 步进,原始乘积 → 取整结果):40% 74.00 → 74;45% 83.25 → 83;50% 92.50 → 93;55% 101.75 → 102;60% 111.00 → 111;65% 120.25 → 120;70% 129.50 → 130;75% 138.75 → 139;80% 148.00 → 148;85% 157.25 → 157;90% 166.50 → 167;95% 175.75 → 176;100% 185.00 → 185。
换成 Tanaka 公式,同样 35 岁:最大心率 183.5 bpm,70% 档是 128.45、取整 128 bpm,比 Haskell 的 130 bpm 低 2 bpm。Gellish 给 182.5 bpm、70% 档 127.75 → 128 bpm;Robergs & Landwehr 给 181.825 bpm、70% 档 127.28 → 127 bpm。
输入范围与对照表
| 年龄 | 最大心率(220 − 年龄) | 50% 档 | 60% 档 | 70% 档 | 85% 档 |
|---|---|---|---|---|---|
| 6 | 214 bpm | 107 | 128 | 150 | 182 |
| 18 | 202 bpm | 101 | 121 | 141 | 172 |
| 35 | 185 bpm | 93 | 111 | 130 | 157 |
| 60 | 160 bpm | 80 | 96 | 112 | 136 |
| 80 | 140 bpm | 70 | 84 | 98 | 119 |
| 120 | 100 bpm | 50 | 60 | 70 | 85 |
| 年龄 | Haskell | Tanaka | Gellish | Robergs | 四者极差 |
|---|---|---|---|---|---|
| 20 | 200.0 | 194.0 | 193.0 | 192.1 | 7.9 bpm |
| 35 | 185.0 | 183.5 | 182.5 | 181.8 | 3.2 bpm |
| 50 | 170.0 | 173.0 | 172.0 | 171.6 | 3.0 bpm |
| 65 | 155.0 | 162.5 | 161.5 | 161.3 | 7.5 bpm |
| 80 | 140.0 | 152.0 | 151.0 | 151.0 | 12.0 bpm |
档位表默认渲染 12 行,5% 步进时共 13 档,点一次「加载更多」补齐最后一行。
输入范围、边界与精度说明
年龄只允许 6 到 120 的整数。220 − 年龄 要到 220 岁才归零,但回归方程的样本根本不覆盖那个区间,所以本页在 120 岁封顶:120 岁时 Haskell 给 100 bpm、Tanaka 给 124 bpm,再往上外推没有意义。低于 6 岁同样拒绝。
填非整数会被拦下:本页要求 Math.floor(年龄) === 年龄,例如填 35.5 会提示「年龄请输入 6 到 120 之间的整数」。填 0、负数或超过 120 同理,不会静默改成默认值。
四个公式两两相交的年龄可以算出来:220 − a 与 208 − 0.7a 在 40.00 岁相等,与 207 − 0.7a 在 43.33 岁相等,与 205.8 − 0.685a 在 45.08 岁相等。也就是说 40 岁之前 Haskell 给出的是四个公式里最高的估值,40 岁之后变成最低的。
取整不会让相邻档撞在一起:在 HRmax 从 40 到 220 的全区间逐一检查,相邻 5% 档位取整后的值始终不同,因为最小间距是 0.05 × 40 = 2 bpm,大于取整带来的 1 bpm 误差。年龄取上限 120 时 HRmax = 100,50% 档 50、55% 档 55,仍不撞档。
精度上结果是整数 bpm,原始乘积保留两位小数一并显示;切换公式会重算全部档位,不会只改最大心率那一行。
常见误用:把最大心率比例计算器的结果当成「你的真实最大心率」。这四个公式都是群体回归,个体差异远大于公式之间的差异——同一年龄下四个公式最多才差 12.0 bpm,而真实个体的偏离可以更大。要拿到属于你自己的数值只能做运动负荷试验。
第二个常见误用是把「最大心率百分比」当成「心率储备百分比」。心率储备法要减掉静息心率再乘强度(Karvonen),静息心率 60 的人用两种方法算 70% 强度,结果会差十几 bpm。本页不收静息心率,因此只按最大心率的百分比算。
常见问题
四个公式该选哪个?
40 岁以下四个结果差不到 8 bpm,随便选差别不大;40 岁以上建议看 Tanaka 或 Gellish,因为 220 − 年龄 在高年龄段系统性偏低,80 岁时比 Tanaka 低 12 bpm。
为什么我实测心率超过了算出来的最大值?
这正是回归估计的局限:它给出的是同年龄群体的平均值,不是你的生理上限。实测超过估算值很常见,不代表计算错误,也不代表你应该把那个数值当成目标。
档位表里的百分比是相对什么的?
相对本页算出的最大心率,也就是「%HRmax」,不是相对心率储备(%HRR)。两者的中间强度区间并不重合,别混用。
吃了药(比如 β 受体阻滞剂)还能用吗?
不能。这类药物会直接压低心率,让所有基于年龄的估算失效。用药人群的目标心率必须由医生根据运动负荷试验给出。
为什么年龄要填整数?
四个公式的回归样本按周岁计,本页也按周岁算。填 35.5 这种值既没有文献支撑,也会让档位表出现非整的半岁口径,所以直接拒绝。
档位步进选 10% 有什么用?
做长距离匀速训练时不需要那么细,10% 档只剩 6 行,一眼能看完;做间歇训练想卡在某个窄区间时再切回 5%。
结果能直接当成训练目标吗?
只作参考。数值仅作演示用途,来自群体回归方程;有心血管疾病、正在服药或医生给过心率上限的人,请以医嘱为准。
年龄会被上传吗?
不会。全部计算只用浏览器原生的算术与 Math.round,没有任何网络请求;可以在开发者工具的 Network 面板确认,除页面自身 CSS 外不会再发请求。
相关工具
最大心率比例计算器只解决「上限基准值 × 百分比」这一件事,运动相关的其它口径各有专门页面。