最大心率比例计算器

输入年龄,用四个公开发表的回归公式估算最大心率,再把 40% 到 100% 每 5% 一档的靶心率一次列全,方便对照自己的运动强度。

185 bpm

公式:Haskell & Fox,220 − 35 = 185 bpm;低强度 50%~60% 为 93~111 bpm,中等强度 64%~76% 为 118~141 bpm,高强度 77%~95% 为 142~176 bpm。

靶心率档位表(默认显示 12 行)
占最大心率比例靶心率(bpm)说明
40%74热身起始
45%83热身
50%93低强度下限
55%102低强度
60%111低强度上限
65%120中等强度
70%130中等强度
75%139中等强度
80%148高强度
85%157高强度
90%167高强度
95%176高强度上限

数值仅作演示,来自群体回归方程,不能替代运动负荷试验;有心血管疾病、正在服药或医生给出过心率上限的人,请以医嘱为准。

使用方法

  1. 在「年龄」里填周岁,允许 6 到 120 岁,默认示例是 35 岁。填小数、0、负数或超过 120 都会被拦下并说明允许范围。
  2. 在「最大心率公式」里选一个回归方程,默认 Haskell & Fox 的 220 − 年龄。切到 Tanaka 会变成 208 − 0.7 × 年龄,35 岁时结果从 185 变成 183.5 bpm。
  3. 在「档位步进」里选 5% 或 10%。5% 档从 40% 排到 100% 共 13 档,10% 档从 50% 排到 100% 共 6 档。
  4. 点「计算」,或在年龄输入框里按 Enter。结果区先给出最大心率,再给出低、中、高三个强度区间,最后是档位表。
  5. 档位表默认显示 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% 档
6214 bpm107128150182
18202 bpm101121141172
35185 bpm93111130157
60160 bpm8096112136
80140 bpm708498119
120100 bpm50607085
年龄HaskellTanakaGellishRobergs四者极差
20200.0194.0193.0192.17.9 bpm
35185.0183.5182.5181.83.2 bpm
50170.0173.0172.0171.63.0 bpm
65155.0162.5161.5161.37.5 bpm
80140.0152.0151.0151.012.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 外不会再发请求。

相关工具

最大心率比例计算器只解决「上限基准值 × 百分比」这一件事,运动相关的其它口径各有专门页面。