1RM 力量计算
卧推/深蹲/硬拉最大重量推算
训练区间推荐
次数 × 强度百分比 完整对照表
| % 1RM | 对应重量 | 力竭次数 | RM 标记 | 训练目标 |
|---|
力量等级评估(按体重 + 性别 + 训练年限)
6 大动作力量比例评估(对照硬拉)
周期化训练计划自动生成
| 周次 | 动作 | 组×次 | 重量 | 百分比 | 说明 |
|---|
12 周线性进阶曲线(5×5 模式)
历史进步追踪
8 种公式来源与适用区间
· Epley(1985 · 全能型最常用):1RM = W × (1 + R/30),10 次以内最准。
· Brzycki(1993 · 美军推荐 · 1-10 次精确):1RM = W / (1.0278 − 0.0278 × R)。
· Lander(1985):1RM = W × 100 / (101.3 − 2.67123 × R),倾向略低估,安全推算。
· Lombardi(1989):1RM = W × R0.10,幂函数,10 次以上更稳。
· O'Conner(1989):1RM = W × (1 + 0.025 × R),偏保守估算。
· Mayhew(1992 · NCAA 球员数据集):1RM = W × 100 / (52.2 + 41.9 × e−0.055R),6-10 次最佳。
· Wathan(1994):1RM = W × 100 / (48.8 + 53.8 × e−0.075R),多元回归,6-10 次最佳。
· Berger(1961):1RM = W / (1.0261 × e−0.0262R),最早的经典公式。
使用建议:1-3 次推荐 Brzycki / Lander;4-7 次推荐 Epley / Mayhew / Wathan;8-12 次推荐 Lombardi / Wathan。8 种平均值是最稳健的单一估计。
⚠ 安全:实测 1RM 必须:① 充分热身(60%→75%→85%→90% 递进);② 找有经验的保护人;③ 至少有 1 个月 5RM 训练基础后再尝试;④ 推举类动作不要做实测(用 5RM 推算更安全)。
关于本工具
了解工具定位 · 使用场景 · 对比优势
使用场景
卧推极限测定
健身爱好者在冲击大重量前,常因无法准确预估 1RM 而受伤或训练无效。本工具输入近期完成的 5RM 或 8RM 重量与次数,自动用 Epley、Brzycki 等算法推算卧推 1RM,帮助设定下一周期训练负荷,避免盲目加重导致肩关节损伤。
深蹲周期规划
力量举训练者进入专项周期时,需按 1RM 百分比分配每日深蹲组数(如 75%×5×5)。本工具根据近期 3RM 成绩反推当前 1RM,再自动计算出各百分比对应重量,省去手动查表换算的麻烦,确保周期内强度递增可控。
硬拉重量校验
新手硬拉常高估自身极限,导致动作变形、腰椎代偿。本工具输入 10RM 重量即可得到保守估算的 1RM,比直接试举大重量更安全。配合工具内置的 RPE 换算功能,还能根据当日状态调整目标组重量,降低下背受伤风险。
比赛试举策略
力量举比赛第二次试举重量需基于第一次成功重量精确计算,避免因估算偏差导致第三次试举失败。本工具输入第一次试举重量与 RPE 值,输出第二次、第三次试举的推荐重量区间,帮助选手在比赛中最大化总成绩。
动作转换参考
从健美转练力量举的爱好者,原有训练记录多为 8-12RM 组,缺乏 1RM 数据。本工具将历史记录中的 10RM 重量统一换算为 1RM,再按力量举训练体系重新分配各动作的强度区间,实现训练计划平滑过渡。
对比矩阵本工具 vs 竞品 vs 传统方法
| 维度 | 本工具 | 竞品 A (Strength Level) | 传统方法 (试举法) |
|---|---|---|---|
| 数据隐私 | 纯浏览器,零上传 | 上传到服务器,需注册账号 | 依赖现场记录,无电子留存 |
| 处理速度 | 1 秒内 | 2-3 秒(含页面加载) | 数小时(需多次试举,组间休息) |
| 离线可用 | 完全离线 | 需联网 | 完全离线(需器械) |
| 收费 | 免费 | 免费(含付费高级统计) | 免费(需健身房会员/器械) |
| 输入要求 | 仅需 1 组重量与次数 | 需多组训练历史数据 | 需实际完成 1RM 或多次极限试举 |
| 结果精度 | 基于 Epley/Brzycki 等公式估算 | 基于社区数据 + 公式估算 | 实测值,最准确但有受伤风险 |
| 使用门槛 | 零门槛,打开即用 | 需注册,需理解社区排名系统 | 需有保护者/深蹲架,有一定训练基础 |
使用指南
上手步骤 · 输入输出 · 避坑提示
输入输出示例7 个典型场景,覆盖常规、边界与易错
| 输入 | 输出 | 说明 |
|---|---|---|
| 体重 75kg,卧推 60kg,8 次 | 1RM ≈ 74.3 kg(Epley 公式) | 典型常规场景:中等训练水平用户 |
| 体重 80kg,深蹲 100kg,5 次 | 1RM ≈ 113.0 kg(Epley 公式) | 典型常规场景:力量训练进阶用户 |
| 体重 60kg,硬拉 50kg,1 次 | 1RM = 50.0 kg(单次重量即为 1RM) | 边界 case:用户只做了 1 次,直接输出输入值 |
| 体重 90kg,卧推 120kg,0 次 | 无效输入:次数必须 ≥ 1 | 边界 case:次数为 0,工具无法推算 |
| 体重 70kg,深蹲 200kg,30 次 | 1RM ≈ 386.5 kg(Epley 公式,高估风险大) | 边界 case:次数 ≥ 20 时公式误差显著增大 |
| 体重 50kg,硬拉 20kg,12 次 | 1RM ≈ 28.6 kg(Epley 公式) | 易错 case:新手常忽略低重量高次数推算结果偏低 |
| 体重 100kg,卧推 100kg,10 次 | 1RM ≈ 133.3 kg(Epley 公式) | 易错 case:体重与重量相等时,相对力量容易误判 |
常见错误对照8 个常踩的坑 · 错误 → 修复
1. 用 1RM 当日常训练重量
卧推 1RM 是 100kg,于是每次训练都用 100kg 做组日常训练用 1RM 的 60%-85% 做组(如 100kg 1RM → 做组用 60-85kg)1RM 是单次极限重量,不是训练重量。用 1RM 做组会导致动作变形、受伤风险剧增,且无法完成计划组数。
2. 用辅助动作推算复合动作 1RM
腿举 200kg 能完成 5 次 → 用公式算出深蹲 1RM 是 230kg用深蹲本身的重量和次数推算深蹲 1RM(如深蹲 140kg×5 → 1RM≈160kg)不同动作的神经募集、肌群参与度不同,辅助动作(腿举、卧推窄距)的推算结果不能直接套用到主项(深蹲、卧推)。
3. 用半程动作次数代入公式
卧推只下放一半就推起,记录为 100kg×8 → 算出 1RM≈125kg用全程(杠铃触胸/深蹲大腿平行)的次数代入公式半程动作行程短、做功少,实际力量远低于全程。用半程次数推算的 1RM 会严重高估真实极限。
4. 疲劳状态下测 1RM
练完 5 组深蹲后,再测一组极限重量在训练日开始时(充分热身但未疲劳)测 1RM,或单独安排测试日疲劳状态下神经和肌肉无法输出最大力量,测出的数值偏低,且受伤风险成倍增加。
5. 次数超过 10 次仍用线性公式推算
引体向上 20kg×15 次 → 用 Epley 公式算出 1RM≈45kg次数超过 10 次时,改用耐力型公式(如 Brzycki 修正版)或直接做负重测试传统 1RM 推算公式(Epley、Lombardi)在高次数区间误差急剧增大,实际 1RM 可能比推算值低 15%-30%。
6. 忽略动作节奏对次数的影响
用 2 秒离心 + 1 秒向心的节奏完成 100kg×6 → 与 4 秒离心 + 爆发向心的 100kg×6 等同对待保持一致的节奏(推荐 2-3 秒离心 + 爆发向心)进行测试离心阶段越长,肌肉张力时间越长,相同重量能完成的次数越少。节奏不一致会导致推算结果不可比。
7. 用史密斯机数据推算自由重量 1RM
史密斯机深蹲 150kg×5 → 算出自由深蹲 1RM≈175kg自由深蹲的 1RM 只能由自由深蹲测试得出,或按经验折减 10%-20%史密斯机轨迹固定、不需要平衡肌群参与,实际负重能力比自由重量高 10%-20%。直接套用会高估自由重量极限。
8. 用热身组次数代入公式
热身时用 60kg 做了 12 次 → 算出 1RM≈85kg,实际极限只有 75kg用接近极限(RPE 7-9)的正式组次数代入公式热身组重量轻、次数多,神经未充分激活,肌肉也未进入最大输出状态。用热身数据推算会严重低估真实 1RM。
工作原理
公式推导 · 流程图解 · 依据出处
核心公式
1RM = W × (1 + 0.0333 × R)
变量说明
1RM— 预估最大重量(kg 或 lb)W— 完成 R 次重复时使用的重量R— 力竭前完成的重复次数(1 ≤ R ≤ 10)
示例
卧推 80kg 完成 5 次力竭。W=80,R=5。1RM = 80 × (1 + 0.0333 × 5) = 80 × 1.1665 ≈ 93.3kg。即预估最大卧推重量约 93kg。
适用范围
基于 Epley 公式(1985 年发表),适用于训练有素者 1-10 次重复的卧推/深蹲/硬拉。新手(训练<1年)或 R>10 时误差增大(可达 ±10%),建议用 Brzycki 公式交叉验证。
原理图
开发者集成
3 种主流语言 · 复制即用
import math
# 使用 Epley 公式估算 1RM
# 公式: 1RM = 重量 × (1 + 0.0333 × 次数)
def estimate_1rm(weight: float, reps: int) -> float:
if reps == 1:
return weight
if reps < 1 or weight <= 0:
raise ValueError("重量必须 > 0,次数必须 >= 1")
return round(weight * (1 + 0.0333 * reps), 1)
# 示例:卧推 80kg 完成 5 次
print(estimate_1rm(80, 5)) # 93.3package main
import (
"fmt"
"math"
)
// Epley 公式估算 1RM
func estimate1RM(weight float64, reps int) (float64, error) {
if reps == 1 {
return weight, nil
}
if reps < 1 || weight <= 0 {
return 0, fmt.Errorf("重量必须 > 0,次数必须 >= 1")
}
rm := weight * (1 + 0.0333*float64(reps))
return math.Round(rm*10) / 10, nil
}
func main() {
result, _ := estimate1RM(80, 5)
fmt.Println(result) // 93.3
}/**
* Epley 公式估算 1RM
* @param {number} weight - 使用的重量 (kg)
* @param {number} reps - 完成次数
* @returns {number} 估算的 1RM
*/
function estimate1RM(weight, reps) {
if (reps === 1) return weight;
if (reps < 1 || weight <= 0) throw new Error('重量必须 > 0,次数必须 >= 1');
return Math.round(weight * (1 + 0.0333 * reps) * 10) / 10;
}
// 示例:深蹲 100kg 完成 3 次
console.log(estimate1RM(100, 3)); // 110.0常见问题
8 个高频疑问