使用方法
- 在「体重」填 70、「身高」填 172、「年龄」填 30,这三个值是本页示例的默认输入。
- 选性别。公式里的性别差异项不是修饰,男性的常数项是 88.362,女性的常数项是 447.593,差 359.231——不选性别本页会直接报错而不是按男性算。
- 体脂率选填。留空则 Katch-McArdle 一栏显示「需要体脂率」,其余三个公式照常出数;填 20 时启用。
- 选活动系数,本页默认 1.55(中度)。选错活动系数带来的差异远大于换公式:1.2 与 1.9 之间相差 58%,而四个公式在同一组参数下最多只差 6%。
- 点「计算」或直接按回车。想看年龄每长 10 岁掉多少,在右侧框按 Ctrl / Cmd + Enter。
基础代谢率计算器能解决什么问题
第一个场景是确定每天该吃多少。健身 App、营养师给的建议摄入量,几乎都是「你的基础代谢率 × 活动系数」再按目标加减。用错公式,误差就在两三百千卡之间——相当于一碗米饭的量。所以先有一个口径明确、可复核的基础代谢率计算器,比在五个 App 里看到五个不同数字更重要。
第二个场景是体检报告解读。报告单上「基础代谢率 1450 kcal」这一栏本身就是把实测间接测热量法( Indirect Calorimetry)结果代入某个公式算出来的,报告没写用了哪个公式。基础代谢率计算器能把 1450 反推回参数区间:你会发现自己填 55kg / 162cm / 28 岁时 Mifflin 得 1261、HB1984 得 1337,都够不到 1450,那多半是报告用了别的系数或直接读的实测值。
第三个场景是体重管理里的「吃动平衡」估算。要判断每周减 0.5kg 是否现实,标准做法是拿每日总消耗减去摄入,差值乘 7 天除以 7700 千卡每公斤。这里最容易出错的一步是活动系数——把「每周健身 3 次」填成 1.9 而不是 1.55,缺口会凭空多出 550 千卡,计划从「现实」变成「不现实」。
本页只做静息状态下的基础代谢率与每日总消耗估算,不做间接测热量法实测(那需要代谢车或气体分析仪,属于身体表面积计算器那类生理指标范畴之外的临床项目),也不给饮食与训练处方。需要体脂率原始数据时,先走身体体脂率计算器;要按目标体重反推该吃多少,走卡路里赤字计算器。
原理与规则:本页用哪个公式,为什么
本页主公式是 Harris-Benedict 1984 修订式(Roza 与 Shizgal 1984 年用 2278 个受试者数据重新拟合的版本),男性为 88.362 + 13.397×体重 + 4.799×身高 − 5.677×年龄,女性为 447.593 + 9.247×体重 + 3.098×身高 − 4.330×年龄。注意 1918 年原始式是 66.47 + 13.75×体重 + 5.003×身高 − 6.755×年龄,两式系数不同,网上大量「标准公式」文章用的是 1918 版。本页把两式都算出来给你看差值——这个差值很小(见下表,通常 0.3% 到 1.0%),但知道用的是哪一版很重要,因为不同机构的公式卡片印的版本不一样。
为什么以 1984 版为主公式:Harris 与 Benedict 1918 年用的是 239 个成年人的数据,其中相当一部分是住院病人,营养状况与今天的普通人群差异较大;1984 年修订版样本量扩大到 2278 人群,并且按现代营养状态重拟合。选它的实际理由是可复核性——这个式子被 PubMed 收录、系数公开、任何人都能手算验证,不需要信任本站。相比之下 Mifflin-St Jeor 式(10×体重 + 6.25×身高 − 5×年龄 + 5,女性常数 −161)发表更晚、样本更大,很多研究认为精度略优,但它在中文互联网的普及度远低于 Harris-Benedict,体检报告与教练手册印的绝大多数是后者。本页两个都给,你自己选。
Katch-McArdle 完全是另一类东西:它的式子是 370 + 21.6×瘦体重,而瘦体重 = 体重 ×(1 − 体脂率 ÷ 100)。它不含年龄、不含身高、不含性别项,因为它的理论依据是「代谢消耗由去脂体重决定」,而肌肉组织才是代谢活跃的组织。所以本页体脂率留空时它无法计算,这不是缺陷而是公式前提缺失。同一组 70kg 输入,体脂从 10% 变到 40%,Katch 结果从 1730.80 一路掉到 1277.20,跨度 453.60 千卡——这个敏感度是 Harris-Benedict 完全不具备的。
活动系数是独立的一步。基础代谢率只算「躺着不动、清醒、消化中」时的能量消耗,人一天实际消耗远高于此。乘活动系数是标准做法,五档取值来自膳食营养素参考摄入量与运动生理学文献的通行口径:1.2 久坐、1.375 轻度、1.55 中度、1.725 高度、1.9 极高。1.55 这个默认值对应每周 3 到 5 次中强度运动,是最常用的口径。基础代谢率计算器的输出分两格,一格是纯公式值,一格是乘完系数的每日总消耗——把两者混为一谈是最常见的误读。
单位是 kcal/日,全称千卡(大卡),也就是食物营养成分表上标的「千卡」。1 kcal 精确等于 4184 焦耳(热量卡与热化学卡是两种不同的卡,差 4184 倍,说的就是这一条),所以本页折合千焦用的是 ×4.184。这个换算由国际营养科学委员会(ICNR)统一,物理上来自卡路里与焦耳的定义关系。
完整示例(数值仅作演示)
输入体重 70、身高 172、年龄 30、男、体脂率 20%、活动系数 1.55,四个公式分别给出:
- Harris-Benedict 1984 = 88.362 + 13.397×70 + 4.799×172 − 5.677×30 = 1681.27 kcal/日(取整 1681)
- Harris-Benedict 1918 = 66.47 + 13.75×70 + 5.003×172 − 6.755×30 = 1686.84,比 1984 版高 5.57(+0.3%)
- Mifflin-St Jeor = 10×70 + 6.25×172 − 5×30 + 5 = 1630.00,比主公式低 51.27(−3.0%)
- Katch-McArdle = 370 + 21.6×(70 × 0.8) = 370 + 21.6×56.0 = 1579.60,比主公式低 101.67(−6.0%)
- 每日总消耗 = 1681.27 × 1.55 = 2605.97 kcal/日,折合 2605.97 × 4.184 = 10903.4 kJ
这组数字里最值得注意的不是绝对值,而是四个公式的散布范围只有 107.24 千卡(最高 1686.84、最低 1579.60),而活动系数从 1.2 换到 1.9 会带来 1176.89 千卡的变化(2017.52 到 3194.41)。也就是说,选对活动系数的收益是选对公式的 11.0 倍。如果你在纠结「到底该用哪个公式」,先别纠结公式,把活动档位定准更划算。
输入范围与对照表
本页接受的输入区间:体重 20 到 300 千克、身高 100 到 250 厘米、年龄 10 到 120 周岁、体脂率 3 到 70%。下限不是随便定的——3% 体脂率已经低于生物体可能的下限,低于此的读数来自身高测量误差而非真实体脂;上限 300 千克与身高 250 厘米则覆盖了绝大多数成年人的全部范围,超出这个区间的公式外推误差会显著放大,代谢病态个体(大体重、严重肥胖、截肢、特殊代谢疾病)也不适用这类估算式。
| 活动档 | 系数 | HB 1984 | Mifflin | HB 1918 | Katch | 最大分歧 |
|---|---|---|---|---|---|---|
| 久坐(几乎不运动) | 1.2 | 2017.52 | 1956.00 | 2024.20 | 1895.52 | 128.68 |
| 轻度(每周 1-3 次) | 1.375 | 2311.75 | 2241.25 | 2319.40 | 2171.95 | 147.45 |
| 中度(每周 3-5 次) | 1.55 | 2605.97 | 2526.50 | 2614.60 | 2448.38 | 166.22 |
| 高度(每周 6-7 次) | 1.725 | 2900.19 | 2811.75 | 2909.79 | 2724.81 | 184.98 |
| 极高(体力劳动/双练) | 1.9 | 3194.41 | 3097.00 | 3204.99 | 3001.24 | 203.75 |
系数敏感度(案例 A,70kg / 172cm / 30 岁男)按年龄展开如下,每 10 岁下降约 56.77 千卡,正好是年龄系数 5.677 乘 10——这不是巧合,Harris-Benedict 的年龄项是线性的,所以 20 岁到 60 岁的总降幅就是 5.677 × 40 = 227.08 千卡:
| 年龄 | HB 1984 | 相对 20 岁 | Mifflin | HB 1918 |
|---|---|---|---|---|
| 20 岁 | 1738.04 | 基准 | 1680.00 | 1754.39 |
| 30 岁 | 1681.27 | −56.77 | 1630.00 | 1686.84 |
| 40 岁 | 1624.50 | −113.54 | 1580.00 | 1619.29 |
| 50 岁 | 1567.73 | −170.31 | 1530.00 | 1551.74 |
| 60 岁 | 1510.96 | −227.08 | 1480.00 | 1484.19 |
Katch-McArdle 在同样 70kg 体重下改体脂率的结果(注意它对年龄完全无感,这是公式性质决定的):
| 体脂率 | 瘦体重 | Katch-McArdle | 与 HB1984 差 |
|---|---|---|---|
| 10% | 63.0 kg | 1730.80 | +151.20 |
| 15% | 59.5 kg | 1655.20 | +75.60 |
| 20% | 56.0 kg | 1579.60 | 0.00(基准) |
| 25% | 52.5 kg | 1504.00 | −75.60 |
| 30% | 49.0 kg | 1428.40 | −151.20 |
| 35% | 45.5 kg | 1352.80 | −226.80 |
| 40% | 42.0 kg | 1277.20 | −302.40 |
四个公式在另外三组参数下的实测分歧(数字取自本页实跑):男 80kg/180cm/25 岁时 Mifflin 低于 HB1984 达 77.02 千卡(−4.1%);女 55kg/162cm/28 岁时差 75.31(−5.6%);女 65kg/170cm/45 岁时差 53.96(−3.9%)。这个差值在男性分支可以精确分解——两式相减后体重系数是 10 − 13.397 = −3.397、身高系数是 6.25 − 4.799 = +1.451、年龄系数是 −5 −(−5.677) = +0.677,常数项是 5 − 88.362 = −83.362。代入案例 A 得 −3.397×70 + 1.451×172 + 0.677×30 − 83.362 = −51.27,与实算完全一致。所以「体重越大,Mifflin 相对 Harris-Benedict 就低得越多」,身高与年龄则起反向补偿作用:案例 B(80kg/180cm/25 岁)体重多 10kg 贡献 −33.97,但身高多 8cm 补回 +11.61、年龄少 5 岁补回 +3.39,净差 −25.75,累计到 −77.02。注意这套分解系数只对男性分支成立——女式的体重、身高、年龄系数是 9.247 / 3.098 / 4.330,与男式不同,相减得不到同样的数。
输入范围、边界与精度说明
为什么每公斤体重的系数是 13.397 而不是整数:这些小数来自 1984 年那次最小二乘回归,不是凑出来的。实用含义是「体重每加 1 千克,基础代谢率涨 13.397 千卡」;身高每加 1 厘米涨 4.799 千卡(男性)。基础代谢率计算器把这两个边际值也一并给出,你可以用它做反推:结果比预期高 30 千卡,约等于最近重了 2.2 公斤。
为什么公式在体重填 0 时不报错:因为式子本身是纯线性代数,w=0 会算出一个 743.48 这样的数。但它在生理上无意义,所以本页把体重下限设为 20 千克并给出具体报错文案——静默接受 0 然后输出一个看着正常的数字,比报错有害得多。同理,年龄填 0 会得到 1851.58,比 30 岁还高 170.31 千卡,因为年龄项是负系数,0 岁被当成了「负 30 岁」。这类「算得出但不该算」的情况,输入范围那一节的数字就是防线。
男女常数项的 359.231 差:把案例 A(70kg / 172cm / 30 岁)的性别从男切到女,HB1984 从 1681.27 掉到 1497.84,差 183.43。注意这个 183.43 不等于常数项之差 359.231,因为两式的体重、身高、年龄系数也不同(女式是 9.247 / 3.098 / 4.330,男式是 13.397 / 4.799 / 5.677),三项合计把差距拉回来了。这不是「女性代谢低」的粗糙结论,而是公式对不同身体构成的回归系数差异:女性平均去脂体重更低,且公式常数项包含了与性别相关的躯干构成修正。跨性别使用任一式都会带来误差——这也是本页性别只有两个选项、不提供「其他」的原因,这不是身份认同问题,而是方程只有一个性别指示变量。
精度与舍入:页面内部用 JavaScript 双精度浮点全程计算,误差量级在 1e-13 相对误差,对千卡量级结果完全没有影响。展示时才取整到 1 千卡。真正的精度损失不在计算端而在输入端:体重用家用体重秤的读数本身就有 ±0.5kg 误差,经 13.397 系数放大后是 ±6.7 千卡;身高差 1cm 就是 4.8 千卡。所以别纠结结果的小数位。
公式的适用边界:Harris-Benedict 与 Mifflin 都是针对 18 到 80 岁健康成年人的回归式,孕期、哺乳期、青少年、老年人群、运动员、截肢或严重代谢疾病患者都不适用。Katch-McArdle 在体脂率极低(健美运动员)或极高(重度肥胖)时外推同样不可靠。本页的年龄区间 10 到 120 是输入校验区间,不是公式的验证区间,填 18 岁到 80 岁之外时结果仍是算出来的数,但不代表它在生理上成立。
为什么不做间接测热量法:真实的基础代谢率只能靠测量获得——间接测热量法让受试者躺在代谢车里,通过测量耗氧量与二氧化碳排出量推算能量消耗,呼吸商 RQ 参与计算。这是临床与运动科学实验室的做法,成本与门槛都不是网页能替代的。本页所有结果都是公式估算,与实测值通常有 ±10% 到 20% 的差异,运动员个体差异尤其大。
常见问题
基础代谢率和静息代谢率是一个东西吗?
数值上基本相等,概念上侧重不同。基础代谢率(BMR)严格定义为「清醒、绝对安静、空腹(进食后 12 小时以上)、平卧」状态下的代谢率;静息代谢率(RMR)放宽了平卧与空腹的要求,测量条件更接近日常。实测中 RMR 通常略高于 BMR,差值在 3% 到 10%。但真正让人混淆的是网站口径:不少页面把「躺着不动一整天的消耗」叫做基础代谢率,而那实际是加了活动系数的每日总消耗。本页把两格分开显示,就是为了让这件事不含糊。
为什么公式算出来和别人差两三百千卡?
先排除输入错误:身高差 1cm 就差 4.8 千卡,体重差 2kg 就差 26.8 千卡,两人对「体重」的口径不同(空腹 vs 饭后、有没有穿衣服)就够拉开一百多。其次是公式不同,本页四式的最大分歧在案例 A 里是 107.24 千卡(最高 1686.84、最低 1579.60),如果对方用的是 1918 原始式或某书改过的系数,差 5 到 6 千卡。最后是活动系数,如果两边比的是每日总消耗而活动档位选得不同,差距轻松上五百。规范做法是统一三件事:同一公式版本、同一活动档、同一体重称重时点。
体脂率填 20% 是我瞎猜的,这样算出来还有意义吗?
有,但只能当粗略参考。Katch-McArdle 的式子是 370 + 21.6×瘦体重,而瘦体重完全由体脂率决定,所以体脂率猜错 5 个百分点,瘦体重就差 3.5kg,结果差 75.6 千卡。家用体脂秤(生物电阻抗)的误差在 ±3 到 8 个百分点,季节、水分状态都会影响,所以体脂率应该标注为估算值而不是输入真值。如果体脂率是靠谱的实测(比如 DEXA 或水下称重),Katch-McArdle 反而是四个公式里对个体差异最敏感的、最值得用的那个。
年龄系数是 5.677,意思是每大一岁就少 5.677 千卡?
是字面意思,也是 Harris-Benedict 这个式子的线性假设。20 岁到 60 岁整 40 年,基础代谢率下降 5.677 × 40 = 227.08 千卡,从 1738.04 降到 1510.96。但要注意两点:一是这个线性外推跨越了 40 年,而原公式的回归样本年龄范围并没有覆盖到 80 岁以后;二是真实的代谢下降不是匀速的,30 到 50 岁之间相对平缓,60 岁后肌肉量下降会让实测值低于线性预测。想看自己参数下的逐年数字,用页面右侧的年龄框输入几个年龄点即可。
计算结果我应该直接拿来当每日摄入目标吗?
不建议直接用。基础代谢率是「躺着不动也必须烧掉的能量」,把它当摄入目标会导致摄入低于代谢水平,长期会触发代谢适应、肌肉流失与激素紊乱。实用公式是:先取每日总消耗(TDEE),再按目标减 300 到 500 千卡形成缺口,体重下降速度控制在每周 0.5% 到 1% 体重的区间。已经有明确缺口数值要算的,用卡路里赤字计算器;只是想知道每天大概走多少步能抵掉一份早餐,走步数换算卡路里。
为什么女 55kg/162cm/28 岁算出来比男 80kg/180cm/25 岁低 500 多千卡?
分别是 1336.81 与 1882.02,差 545.20。这个差距的来源可以逐项拆:体重少 25kg 贡献 13.397 × 25 = 334.93(男式系数);身高少 18cm 本应减少 4.799 × 18 = 86.38,但换成女式后身高系数降到 3.098,反而只减 3.098 × 18 = 55.76,方向上补回 30.62;年龄大 3 岁在男式里会多扣 17.03。剩下的来自性别常数项与系数组合的净效应。真正值得注意的是:换成 Mifflin 式后这个差距变成 543.50,两式给出一致的结论——能量消耗主要由体重和去脂体质量决定,身高与性别是通过影响体重构成间接起作用的。所以体重输入错 5kg,比性别选错造成的偏差更大。
我的身高在公式里只占 4.799 的权重,是不是说明它不重要?
权重小不等于可以不管。以案例 A 为例,把身高从 172 改到 200(同性别同年龄)会让基础代谢率从 1681.27 涨到 1815.64,涨 134.37(正好是 4.799 × 28);如果同时体重差得更多,两者会互相抵消,看起来就像身高没影响。另外要注意这两个式子的身高项系数本来就不一样:Mifflin 用 6.25,HB1984 男 4.799,所以高个子在 Mifflin 下的身高敏感度还更高——每 1cm 是 6.25 比 4.799,高出 30.2%。判断身高是否重要的标准是它与体重的相关性:身高 172cm 配 70kg 和身高 172cm 配 90kg 完全不是一回事,前者 BMI 23.7 已偏高,后者 30.4 已属肥胖。想看 BMI 落在哪个区间,走BMI计算器。
和单独的卡路里计算页、基础代谢计算页有什么区别?
三者做的事不同。本页的核心是公式本身:四个式子并排、系数全列、公式之间的实测差值和公式随参数变化的敏感度都摊开给你看,还要再乘五档活动系数得到每日总消耗。卡路里计算那类页面走的是食物热量乘份数的路径,输入是食物不是人体参数。基础代谢计算器同样在这一族里、口径高度接近,如果你只需要一个数字、不关心公式差异,用那页足够;本页多出来的价值是当你需要向教练、体检医生或自己交代「我按哪个式子算的、系数是多少」时才用得上。