나이를 입력하고 ‘계산’을 누르세요. 안정 시 심박수를 입력하면 체력의 개인차를 반영하는 카보넨 공식으로 계산합니다(입력하지 않으면 최대심박수의 단순한 비율로 계산). 운동부하검사 등으로 실측한 최대심박수가 있으면 나이 대신 그대로 쓸 수 있습니다.
이 페이지에서 할 수 있는 것
- 나이만 넣으면 운동 중 기준이 되는 목표심박수 존(최대심박수의 50~85%)을 바로 알 수 있습니다
- 운동 강도 50~100%를 5단계로 나눈 존별 목표심박수의 표와 그래프를 보여 줍니다. 워밍업·지방 연소·지구력 향상 등 목적에 맞는 강도를 고르는 기준이 됩니다
- 안정 시 심박수를 입력하면 체력의 개인차를 반영하는 카보넨 공식으로 계산합니다(입력하지 않으면 최대심박수의 단순한 비율로 계산)
- 최대심박수 추정 공식은 ‘220 − 나이’(표준) 외에 Tanaka 공식·Nes 공식도 고를 수 있고, 실측값이 있으면 그대로 쓸 수 있습니다
- 공식의 쉬운 해설과 Excel·Google 스프레드시트·Python에 복사해 쓸 수 있는 수식도 이 페이지에 모아 두었습니다
이 계산은 어디에 쓰일까요?
‘숨이 너무 차지는 않지만 운동은 되는’ 속도를 감각만으로 유지하기는 의외로 어렵습니다. 목표심박수가 있으면 달리면서 심박수만 보고도 속도를 객관적으로 조절할 수 있습니다.
예를 들어 30세, 안정 시 심박수 70 bpm인 사람이 지구력 기초를 다지는 강도 60~70%를 목표로 한다면 카보넨 공식으로 142~154 bpm이 기준입니다. 이 범위에 들어오도록 속도를 올리고 내리는 식으로 씁니다.
지방이 에너지로 잘 쓰이는 것은 보통 ‘편하게 대화할 수 있는’ 정도의 중간 강도(최대심박수의 60~70% 안팎)라고 합니다. 너무 무리해서 힘든 강도로 하면 오래 계속할 수 없어 오히려 총소비량이 늘지 않을 때가 있습니다.
예를 들어 50세(최대심박수 기준 170 bpm)라면 최대심박수법으로 102~119 bpm 정도가 이 존입니다. ‘힘들지 않은데 효과가 있는’ 강도를 숫자로 확인할 수 있다는 것이 이 계산의 쓸모입니다.
러닝 워치나 스마트워치의 상당수는 심박수를 ‘존 1~5’처럼 색으로 나누어 표시합니다. 그 구분의 정체가 바로 이 페이지의 ‘최대심박수의 몇 %’라는 생각입니다.
원리를 알면 ‘오늘은 존 2로 천천히 오래’, ‘인터벌은 존 4까지 올린다’처럼 워치의 표시를 근거를 갖고 구분해 쓸 수 있게 됩니다. 설정 화면에서 최대심박수나 안정 시 심박수를 자신의 값으로 고치면 존도 더 정확해집니다.
오랜만에 운동하는 사람이 처음부터 높은 강도로 무리하면 오래가지 못할 뿐 아니라 몸에도 큰 부담이 됩니다. 운동을 막 시작한 시기에는 워밍업·체력 유지 존(최대심박수의 50~60%) 정도의 편한 강도부터 몸을 적응시키는 것이 일반적인 방법입니다. 질병관리청 국가건강정보포털에서도 중등도 강도를 최대심박수(220 − 나이)의 50~70%로 안내합니다.
예를 들어 40세라면 최대심박수 기준은 180 bpm이고, 이 존은 90~108 bpm 정도입니다. ‘이 이상은 올리지 않는다’는 상한을 숫자로 갖고 있으면 무리하기 쉬운 운동 재개 시기의 안전장치가 됩니다. 지병이 있거나 건강이 걱정되는 분은 운동을 시작하기 전에 의사와 상담하세요.
지구력 스포츠에서는 ‘천천히 오래 달리는 날’과 ‘강도를 올리는 날’을 심박수 존으로 나누어 관리하는 것이 일반적입니다. 강도 판단을 감각에 맡기지 않으면 기르고 싶은 능력에 맞는 훈련을 겨냥해서 쌓아 갈 수 있습니다.
예를 들어 25세, 안정 시 심박수 60 bpm인 선수라면 카보넨 공식으로 무산소 능력 향상 존(80~90%)은 168~182 bpm입니다. 인터벌 달리기에서는 이 범위까지 끌어올리고 회복 달리기는 낮은 존으로 억제하는 식으로 계획을 세우는 데 쓰입니다.
공식과 그래프
용어·기호 해설
기호
| \(T\) | 티 | 구하려는 목표심박수(bpm)입니다. 영어 Target(목표)의 첫 글자입니다. |
| \(M\) | 엠 | 최대심박수(bpm)입니다. 전력으로 운동할 때 도달할 수 있는 심박수의 상한이며, 영어 Maximum의 첫 글자입니다. |
| \(A\) | 에이 | 나이(세, 만 나이)입니다. 영어 Age의 첫 글자입니다. |
| \(R\) | 알 | 안정 시 심박수(bpm)입니다. 영어 Rest(안정)의 첫 글자입니다. |
| \(p\) | 피 | 운동 강도입니다. 최대의 몇 %의 세기로 운동하는지를 소수로 나타낸 값입니다(50%라면 0.50). |
| \(M - R\) | 엠 빼기 알 | 여유심박수(최대심박수 − 안정 시 심박수)입니다. 운동으로 심박수를 올릴 수 있는 ‘여유의 폭’을 나타내며, 카보넨 공식의 바탕이 되는 양입니다. |
용어
| 심박수 | 심장이 1분 동안 뛰는 횟수입니다. 단위는 bpm(beats per minute)입니다. 손목의 맥박을 15초 동안 세어 4배 해도 잴 수 있습니다. |
| 최대심박수 | 전력으로 운동할 때 도달할 수 있는 심박수의 상한입니다. 나이가 들수록 낮아지는 경향이 있으며 ‘220 − 나이’ 같은 공식으로 추정합니다(같은 나이라도 ±10 bpm 정도의 개인차가 있습니다). |
| 안정 시 심박수 | 차분하게 쉬고 있을 때의 심박수입니다. 성인의 기준은 50~90 bpm 정도이고, 지구력 운동을 꾸준히 하면 낮아지는 경향이 있습니다. 아침에 잠에서 깬 직후에 재는 것이 기본입니다. |
| 여유심박수 | 최대심박수에서 안정 시 심박수를 뺀 값입니다(HRR, Heart Rate Reserve). 운동으로 심박수를 올릴 수 있는 ‘여유의 폭’을 나타내며, 카보넨 공식의 바탕입니다. |
| 카보넨 공식 | 여유심박수에 운동 강도를 곱하고 안정 시 심박수를 다시 더하는, 목표심박수의 대표적인 계산 방식입니다. 핀란드의 생리학자 카보넨(Karvonen)이 제안했으며, 운동 처방 현장에서 널리 쓰입니다. |
| 목표심박수 | 운동 목적에 맞는 강도를 유지하기 위해 운동 중 기준으로 삼는 심박수입니다(THR, Target Heart Rate). 이 페이지에서 구하는 값입니다. |
| 운동 강도 | 운동이 얼마나 힘든지의 정도입니다. 이 페이지에서는 ‘최대심박수(또는 여유심박수)의 몇 %인가’로 나타냅니다. |
| bpm | beats per minute(1분당 박동 수)의 줄임말로, 심박수의 단위입니다. |
| 베타차단제 | 심박수를 낮추는 작용을 하는 약으로, 고혈압이나 심장병 치료에 쓰입니다. 복용 중에는 운동해도 심박수가 잘 오르지 않으므로 이 페이지의 계산은 기준이 되지 않습니다. 운동 강도는 의사와 상담해서 정하세요. |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘의미를 알고’ 쓸 수 있도록, 먼저 이해해 두면 좋은 내용을 정리했습니다.
| 비율·백분율(초등학교 6학년, 11~12세) |
|
| 혼합 계산의 순서(초등학교 5학년, 10~11세) |
|
| 어림하기·반올림(초등학교 5학년, 10~11세) |
|
| 문자와 식, 대입(중학교 1학년, 12~13세) |
|
Excel로 계산하는 방법
| 나이 A(세) | 30 |
| 최대심박수 M(bpm) | =220-B1 |
| 나이 A(세) | 40 |
| Tanaka 공식의 최대심박수(bpm) | =ROUND(208-0.7*B1,0) |
| Nes 공식의 최대심박수(bpm) | =ROUND(211-0.64*B1,0) |
| 최대심박수 M(bpm) | 195 |
| 운동 강도 p(60%라면 0.6) | 0.6 |
| 목표심박수 T(bpm) | =ROUND(B1*B2,0) |
| 최대심박수 M(bpm) | 190 |
| 안정 시 심박수 R(bpm) | 70 |
| 운동 강도 p(50%라면 0.5) | 0.5 |
| 목표심박수 T(bpm) | =ROUND(B2+B3*(B1-B2),0) |
ROUND(값,0)은 정수로 반올림하는 함수입니다. 예를 들어 첫 번째 표는 190, 두 번째 표는 180과 185, 세 번째 표는 117, 네 번째 표는 130이 표시됩니다. 나이나 심박수를 자신의 값으로 바꾸기만 하면 됩니다.
Google 스프레드시트로 계산하는 방법
| 나이 A(세) | 30 |
| 최대심박수 M(bpm) | =220-B1 |
| 나이 A(세) | 40 |
| Tanaka 공식의 최대심박수(bpm) | =ROUND(208-0.7*B1,0) |
| Nes 공식의 최대심박수(bpm) | =ROUND(211-0.64*B1,0) |
| 최대심박수 M(bpm) | 195 |
| 운동 강도 p(60%라면 0.6) | 0.6 |
| 목표심박수 T(bpm) | =ROUND(B1*B2,0) |
| 최대심박수 M(bpm) | 190 |
| 안정 시 심박수 R(bpm) | 70 |
| 운동 강도 p(50%라면 0.5) | 0.5 |
| 목표심박수 T(bpm) | =ROUND(B2+B3*(B1-B2),0) |
Python으로 계산하는 방법
age = 30 # 나이(세)
resting_hr = 70 # 안정 시 심박수(bpm). 모르면 None으로 둔다
measured_max_hr = None # 실측 최대심박수(bpm). 있으면 숫자를 넣는다
# 최대심박수(실측값이 있으면 그것을 우선. 없으면 220 − 나이로 추정)
if measured_max_hr is not None:
max_hr = measured_max_hr
else:
max_hr = 220 - age
def round_half_up(x):
# 0.5를 더하고 버리는 반올림(Python의 round()는 0.5를 짝수 쪽으로 반올림하므로 쓰지 않는다)
return int(x + 0.5)
def target_hr(intensity_percent):
# 안정 시 심박수가 있으면 카보넨 공식, 없으면 최대심박수법
if resting_hr is not None:
return round_half_up(resting_hr + intensity_percent / 100 * (max_hr - resting_hr))
return round_half_up(max_hr * intensity_percent / 100)
print(f"최대심박수: {round_half_up(max_hr)} bpm")
print(f"목표심박수 기준(강도 50~85%): {target_hr(50)}~{target_hr(85)} bpm")
for lower, upper in [(50, 60), (60, 70), (70, 80), (80, 90), (90, 100)]:
print(f"강도 {lower}~{upper}%: {target_hr(lower)}~{target_hr(upper)} bpm")
LaTeX 등 수식 언어로 쓰는 법(복사 가능)
M = 220 − A
M = 220 - A
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>M</mi>
<mo>=</mo>
<mn>220</mn>
<mo>−</mo>
<mi>A</mi>
</mrow>
</math>
M = 220 - A
220 - A
M := 220 - A;
M = 220 - A;
M = 220 - A
M = 208 − 0.7 × A, M = 211 − 0.64 × A
M = 208 - 0.7A, \quad M = 211 - 0.64A
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>M</mi>
<mo>=</mo>
<mn>208</mn>
<mo>−</mo>
<mn>0.7</mn>
<mi>A</mi>
<mo>,</mo>
<mi>M</mi>
<mo>=</mo>
<mn>211</mn>
<mo>−</mo>
<mn>0.64</mn>
<mi>A</mi>
</mrow>
</math>
M = 208 - 0.7A, M = 211 - 0.64A
{208 - 0.7*A, 211 - 0.64*A}
M1 := 208 - 0.7*A; M2 := 211 - 0.64*A;
M1 = 208 - 0.7*A; M2 = 211 - 0.64*A;
M = 208 - 0.7A, M = 211 - 0.64A
T = M × p
T = M \times p
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>T</mi>
<mo>=</mo>
<mi>M</mi>
<mo>×</mo>
<mi>p</mi>
</mrow>
</math>
T = M p
M*p
T := M*p;
T = M*p;
T = M p
T = R + p × (M − R)
T = R + p \times (M - R)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>T</mi>
<mo>=</mo>
<mi>R</mi>
<mo>+</mo>
<mi>p</mi>
<mo>×</mo>
<mrow>
<mo>(</mo>
<mi>M</mi>
<mo>−</mo>
<mi>R</mi>
<mo>)</mo>
</mrow>
</mrow>
</math>
T = R + p xx (M - R)
R + p*(M - R)
T := R + p*(M - R);
T = R + p*(M - R);
T = R + p(M - R)
ChatGPT 에게 물어서 계산하는 방법
당신은 운동생리학 계산 도우미입니다. 다음 계산은 반드시 Python 코드를 실제로 실행해서 하고, 실행 결과의 수치만을 근거로 답하세요(암산이나 추측으로 답하지 마세요). 30세, 안정 시 심박수 70 bpm인 사람의 목표심박수를 구합니다. 1. 최대심박수를 ‘220 − 나이’로 추정하세요. 2. 카보넨 공식 T = 안정 시 심박수 + 강도 × (최대심박수 − 안정 시 심박수)로 운동 강도 50%·60%·70%·80%·90%·100%의 목표심박수를 목록으로 보여 주세요. 3. 심박수는 정수 bpm으로 반올림(0.5 이상 올림)하세요. 계산에 쓴 공식과 실행 결과의 수치를 보여 주세요. 그리고 이것은 건강한 성인을 위한 일반적인 기준이며, 심장 질환이 있거나 심박수에 영향을 주는 약을 복용 중인 사람은 의사와 상담해야 한다는 점도 덧붙여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다