두 복소수 z₁ = a + bi, z₂ = c + di의 실수부분과 허수부분을 입력하고, 계산할 연산(+ − × ÷)을 골라 주세요. 아래의 수식은 입력란과 연동되어 있어서 수식의 숫자 부분을 직접 고쳐도 계산할 수 있습니다.
이 페이지에서 할 수 있는 것
- 두 복소수 \(z_1 = a+bi\), \(z_2 = c+di\)의 덧셈·뺄셈·곱셈·나눗셈을 실수부분과 허수부분을 넣고 연산을 고르기만 하면 바로 계산할 수 있습니다
- 답은 \(\dfrac{11}{25} + \dfrac{2}{25}i\)처럼 약분한 분수(정확한 값)의 \(a+bi\) 꼴로 표시합니다. 나눗셈에서는 분모의 켤레복소수를 곱해 분모를 실수로 만드는 ‘분모의 실수화’의 풀이 과정을, 곱셈에서는 전개한 뒤 \(i^2\)을 \(-1\)로 바꾸는 과정을 볼 수 있습니다
- 덤으로 계산 결과의 켤레복소수 \(\overline{z}\)와 절댓값 \(|z|\)도 보여 줍니다. 절댓값은 \(|3+4i| = 5\), \(|1+i| = \sqrt{2}\)처럼 근호를 간단히 한 정확한 값으로 답합니다
- 계산 결과는 복소평면(가우스 평면)의 그림으로도 확인할 수 있어서, \(z_1\), \(z_2\), 계산 결과의 점의 위치 관계를 한눈에 알 수 있습니다
- 실수부분과 허수부분에는 소수, 음수뿐 아니라 3/4 같은 분수도 입력할 수 있습니다
이 계산은 어디에 쓰일까요?
콘센트에서 나오는 교류는 전압과 전류가 파도처럼 변하며, 회로의 부품에 따라 파동의 타이밍(위상)이 어긋납니다. 전기공학에서는 이 ‘크기’와 ‘어긋남’을 하나의 복소수(임피던스)로 묶어서, 회로 전체를 복소수의 사칙연산만으로 푸는 것이 표준 방법입니다.
복소수 계산은 전기공학 수업의 기본이며, 한국의 전기기사·전기산업기사 시험의 회로이론에서도 나옵니다. 휴대폰 충전기부터 발전소까지 교류가 흐르는 곳의 설계는 모두 복소수에 기대고 있습니다.
소리나 전파 같은 파동은 복소수를 쓰는 계산인 푸리에 변환으로 ‘어떤 높이(주파수)의 소리가 얼마나 들어 있는지’로 나눌 수 있습니다. 휴대폰 통신(와이파이·5G), 음악 압축, 잡음 제거, 음성 인식은 모두 내부에서 이런 복소수 계산을 엄청나게 많이 하고 있습니다.
하나의 수로 파동의 크기와 타이밍을 함께 다룰 수 있는 것이 복소수의 강점이어서, 신호 처리에서는 실수보다 복소수를 더 많이 씁니다. 푸리에 변환 자체는 대학 수준이지만, 그 안에서 하는 일은 고등학교 1학년에서 배우는 복소수의 곱셈과 덧셈입니다.
자동 조종 장치, 드론, 로봇처럼 흔들림을 가라앉혀 안정되게 움직여야 하는 기계를 설계할 때는, 시스템을 나타내는 방정식의 해(복소수)가 복소평면의 어디에 있는지로 안정성을 판정합니다. 해의 실수부분이 음수이면 흔들림이 잦아들고, 양수인 것이 있으면 커집니다.
이 분야에서는 복소평면 위의 해의 위치가 기계가 안전하게 날 수 있는지를 직접 결정합니다. 이 안정성 판정을 다루는 제어공학은 대학에서 배웁니다.
평면 위의 점 \((x,\ y)\)를 복소수 \(x+yi\)로 생각하면, 절댓값이 1인 복소수를 곱하는 것으로 점을 원점 둘레로 회전시킬 수 있습니다. 예를 들어 \(i\)를 곱하면 90도 회전합니다. 2D 게임에서 캐릭터나 총알의 방향을 바꾸는 계산이 바로 이것입니다.
3D 게임이나 스마트폰의 방향 감지에 쓰이는 사원수(쿼터니언)는 이 ‘복소수에 의한 회전’의 생각을 3차원으로 넓힌 것입니다.
이차방정식은 판별식 \(D = b^2 - 4ac\)가 음수이면 실근이 없습니다. 하지만 수의 범위를 복소수까지 넓히면 \(x^2 = -1\)도 \(x = \pm i\)라는 해를 가지며, 모든 이차방정식·삼차방정식이 해를 가집니다(대수학의 기본정리).
‘해가 없다’는 예외가 사라지기 때문에 수학뿐 아니라 물리학과 공학의 이론도 복소수를 바탕으로 만들어져 있습니다. 고등학교 1학년의 복소수 계산이 그 입구입니다.
공식과 그림
용어·기호 해설
기호
| \(i\) | 아이 | 허수단위입니다. 제곱하면 \(-1\)이 되는 수(\(i^2 = -1\))로 정해져 있습니다. 상상의 수라는 뜻의 영어 imaginary number의 첫 글자에서 왔습니다(전기공학에서는 \(i\)가 전류를 나타내므로 \(j\)를 씁니다). |
| \(z\) | 제트 | 복소수를 나타낼 때 자주 쓰는 문자입니다. 실수의 변수 \(x,\ y\)와 구별하기 위해 복소수에는 \(z\)나 \(w\)를 쓰는 관례가 있습니다. |
| \(z_1,\ z_2\) | 제트 일, 제트 이 | 첫째·둘째 복소수입니다. 오른쪽 아래의 작은 숫자(첨자)는 ‘몇 번째인지’를 나타내는 번호로, 오른쪽 위에 쓰는 거듭제곱의 지수와는 다릅니다. |
| \(a,\ b,\ c,\ d\) | 에이, 비, 시, 디 | 이 페이지에서는 \(z_1 = a+bi\)의 \(a\)가 실수부분, \(b\)가 허수부분이고, \(z_2 = c+di\)의 \(c\)가 실수부분, \(d\)가 허수부분입니다. ‘정해진 수’에는 알파벳의 앞쪽 글자를 쓰는 관례가 있습니다. |
| \(\overline{z}\) | 제트 바 | \(z\)의 켤레복소수입니다. \(z = a+bi\)에 대해 허수부분의 부호만 바꾼 \(a-bi\)를 말합니다. 위의 가로줄(바)은 ‘짝이 되는 상대’를 나타내는 기호입니다. |
| \(|z|\) | 제트의 절댓값 | 복소수 \(z\)의 절댓값입니다. 복소평면에서 원점부터 \(z\)까지의 거리로, \(|a+bi| = \sqrt{a^2+b^2}\)으로 계산합니다. 실수의 절댓값과 같은 세로줄 두 개로 씁니다. |
용어
| 복소수 | \(a+bi\)(\(a\), \(b\)는 실수)의 꼴로 나타내는 수입니다. 실수와 허수를 아우르는 넓은 수의 세계로, 복소수의 범위에서는 어떤 이차방정식도 반드시 해를 가집니다. |
| 허수 | 실수가 아닌 복소수를 말합니다. \(a+bi\)에서 허수부분 \(b\)가 0이 아닌 것입니다. ‘빈(가짜) 수’라는 이름이지만 전기나 물리의 계산에서 실제로 쓸모 있는 수입니다. |
| 허수단위 | \(i\)를 말합니다. \(i^2 = -1\)이 되는 수로 정해져 있으며, 모든 허수는 \(i\)를 써서 나타냅니다. |
| 실수부분 | \(a+bi\)의 \(a\)를 말합니다. 복소수의 ‘실수 부분’으로, 복소평면에서는 가로축(실수축) 방향의 좌표에 해당합니다. |
| 허수부분 | \(a+bi\)의 \(b\)(\(i\)는 빼고)입니다. 복소평면에서는 세로축(허수축) 방향의 좌표에 해당합니다. 예를 들어 \(3-2i\)의 허수부분은 \(-2\)입니다. |
| 순허수 | 실수부분이 0이고 허수부분이 0이 아닌 복소수(\(2i\), \(-3i\) 등)입니다. 복소평면에서는 허수축 위에 놓입니다. |
| 켤레복소수 | \(a+bi\)에 대한 \(a-bi\)를 말합니다. 곱하면 \((a+bi)(a-bi) = a^2+b^2\)이라는 0 이상의 실수가 되는 것이 가장 큰 특징이며, 나눗셈의 분모의 실수화에서 활약합니다. ‘켤레’는 ‘짝을 이루는 것’이라는 뜻입니다. |
| 절댓값 | 복소평면에서 원점까지의 거리 \(\sqrt{a^2+b^2}\)을 말합니다. 실수의 절댓값(수직선에서 0까지의 거리)을 평면으로 넓힌 것입니다. |
| 복소평면 | 가로축에 실수부분, 세로축에 허수부분을 잡고 복소수 \(a+bi\)를 점 \((a,\ b)\)로 나타내는 평면입니다. 가우스 평면이라고도 합니다. 고등학교 교육과정에는 나오지 않고 대학에서 자세히 배우지만, 이 페이지에서는 복소수를 ‘눈으로 보는’ 도구로 씁니다. |
| 실수축 | 복소평면의 가로축으로, 실수가 늘어선 축입니다. 실수는 허수부분이 0인 복소수이므로 실수축 위에 놓입니다. |
| 허수축 | 복소평면의 세로축으로, 순허수(\(2i\)처럼 실수부분이 0인 복소수)가 늘어선 축입니다. |
| 분모의 실수화 | 분모가 복소수인 분수에서 분모의 켤레복소수를 분모·분자에 모두 곱해 분모를 실수로 고치는 것입니다. 중학교 3학년에서 배우는 ‘분모의 유리화’(분모에서 근호를 없애는 조작)의 복소수판입니다. |
| 전개 | 괄호가 있는 식의 괄호를 풀어서 항의 덧셈·뺄셈 꼴로 고치는 것입니다. \((a+b)(c+d) = ac+ad+bc+bd\)처럼 한쪽 괄호의 각 항을 다른 쪽 괄호의 모든 항에 곱합니다. |
| 동류항 | 문자 부분이 같은 항을 말합니다. 복소수의 덧셈·뺄셈에서는 \(i\)가 붙은 항(허수부분)과 붙지 않은 항(실수부분)을 각각 동류항으로 정리합니다. |
| 판별식 | 이차방정식 \(ax^2+bx+c=0\)의 해의 종류를 판별하는 식 \(D = b^2-4ac\)를 말합니다. \(D < 0\)일 때 실근은 없지만, 복소수의 범위에서는 \(x = \dfrac{-b \pm \sqrt{-D}\,i}{2a}\)라는 허근을 가집니다. 복소수가 고등학교 수학에 등장하는 가장 큰 입구입니다. |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘의미를 알고’ 쓸 수 있도록, 먼저 알아 두면 좋은 내용을 정리했습니다.
막히면 이 표의 내용으로 돌아가 복습하는 것이 지름길입니다.
| 다항식의 전개와 동류항(중학교 2~3학년, 13~15세) |
|
| 제곱근과 근호(중학교 3학년, 14~15세) |
|
| 분모의 유리화(중학교 3학년, 14~15세) |
|
| 좌표평면과 피타고라스 정리(중학교 1~2학년, 12~14세) |
|
| 이차방정식과 판별식(중학교 3학년~고등학교 1학년, 14~16세) |
|
| 분수의 계산(초등학교 5학년~중학교 1학년, 10~13세) |
|
Excel로 계산하는 방법
| z₁의 실수부분 a | 1 |
| z₁의 허수부분 b | 2 |
| z₂의 실수부분 c | 3 |
| z₂의 허수부분 d | 4 |
| 복소수 z₁ | =COMPLEX(B1,B2) |
| 복소수 z₂ | =COMPLEX(B3,B4) |
| 합 z₁ + z₂ | =IMSUM(B5,B6) |
| 차 z₁ − z₂ | =IMSUB(B5,B6) |
| 곱 z₁ × z₂ | =IMPRODUCT(B5,B6) |
| 몫 z₁ ÷ z₂ | =IMDIV(B5,B6) |
| 실수부분 a | 3 |
| 허수부분 b | 4 |
| 복소수 z | =COMPLEX(B1,B2) |
| 켤레복소수 | =IMCONJUGATE(B3) |
| 절댓값 |z| | =IMABS(B3) |
| z₁의 실수부분 a | 1 |
| z₁의 허수부분 b | 2 |
| z₂의 실수부분 c | 3 |
| z₂의 허수부분 d | 4 |
| 분모 c²+d² | =B3^2+B4^2 |
| 몫의 실수부분 (ac+bd)÷(c²+d²) | =(B1*B3+B2*B4)/B5 |
| 몫의 허수부분 (bc−ad)÷(c²+d²) | =(B2*B3-B1*B4)/B5 |
첫째 표는 z₁ = 1+2i, z₂ = 3+4i의 예로, 합은 ‘4+6i’, 차는 ‘-2-2i’, 곱은 ‘-5+10i’, 몫은 ‘0.44+0.08i’로 표시됩니다(이 결과는 수가 아니라 문자열입니다).
둘째 표는 z = 3+4i의 예로, 켤레복소수는 ‘3-4i’, 절댓값은 5입니다(IMABS만 보통의 수를 돌려줍니다).
셋째 표는 복소수 함수를 쓰지 않고 분모의 실수화 공식대로 나눗셈을 확인하는 표입니다. 몫의 실수부분은 0.44(= 11/25), 허수부분은 0.08(= 2/25)로 IMDIV의 결과와 일치합니다. ‘^’는 거듭제곱, ‘*’는 곱셈, ‘/’는 나눗셈입니다.
Google 스프레드시트로 계산하는 방법
| z₁의 실수부분 a | 1 |
| z₁의 허수부분 b | 2 |
| z₂의 실수부분 c | 3 |
| z₂의 허수부분 d | 4 |
| 복소수 z₁ | =COMPLEX(B1,B2) |
| 복소수 z₂ | =COMPLEX(B3,B4) |
| 합 z₁ + z₂ | =IMSUM(B5,B6) |
| 차 z₁ − z₂ | =IMSUB(B5,B6) |
| 곱 z₁ × z₂ | =IMPRODUCT(B5,B6) |
| 몫 z₁ ÷ z₂ | =IMDIV(B5,B6) |
| 실수부분 a | 3 |
| 허수부분 b | 4 |
| 복소수 z | =COMPLEX(B1,B2) |
| 켤레복소수 | =IMCONJUGATE(B3) |
| 절댓값 |z| | =IMABS(B3) |
| z₁의 실수부분 a | 1 |
| z₁의 허수부분 b | 2 |
| z₂의 실수부분 c | 3 |
| z₂의 허수부분 d | 4 |
| 분모 c²+d² | =B3^2+B4^2 |
| 몫의 실수부분 (ac+bd)÷(c²+d²) | =(B1*B3+B2*B4)/B5 |
| 몫의 허수부분 (bc−ad)÷(c²+d²) | =(B2*B3-B1*B4)/B5 |
Python으로 계산하는 방법
from fractions import Fraction
import math
# z1 = a + bi, z2 = c + di의 실수부분과 허수부분 (3/4 같은 분수는 Fraction(3, 4)로 쓸 수 있음)
z1_real, z1_imag = Fraction(1), Fraction(2)
z2_real, z2_imag = Fraction(3), Fraction(4)
# 합과 차: 실수부분끼리, 허수부분끼리 각각 계산
add_real, add_imag = z1_real + z2_real, z1_imag + z2_imag
sub_real, sub_imag = z1_real - z2_real, z1_imag - z2_imag
# 곱: 전개하고 i^2 = -1을 대입한 공식 (ac-bd) + (ad+bc)i
mul_real = z1_real * z2_real - z1_imag * z2_imag
mul_imag = z1_real * z2_imag + z1_imag * z2_real
# 몫: 분모의 실수화. 분모는 실수 c^2 + d^2이 됨
denominator = z2_real ** 2 + z2_imag ** 2
div_real = (z1_real * z2_real + z1_imag * z2_imag) / denominator
div_imag = (z1_imag * z2_real - z1_real * z2_imag) / denominator
# 몫의 절댓값: (실수부분의 제곱 + 허수부분의 제곱)의 제곱근
abs_squared = div_real ** 2 + div_imag ** 2
abs_value = math.sqrt(abs_squared)
# a+bi 꼴로 정리 (허수부분이 음수면 -2 - 2i처럼 뺄셈으로 표시)
def to_complex_str(real, imag):
sign = "-" if imag < 0 else "+"
return f"{real} {sign} {abs(imag)}i"
print(f"합: {to_complex_str(add_real, add_imag)}")
print(f"차: {to_complex_str(sub_real, sub_imag)}")
print(f"곱: {to_complex_str(mul_real, mul_imag)}")
print(f"몫: {to_complex_str(div_real, div_imag)}")
print(f"몫의 절댓값의 제곱(분수): {abs_squared}")
print(f"몫의 절댓값(소수): {abs_value}")
LaTeX 등 수식 언어로 쓰는 법(복사 가능)
(a+bi) + (c+di) = (a+c) + (b+d)i
(a+bi) + (c+di) = (a+c) + (b+d)i
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo>(</mo><mi>a</mi><mo>+</mo><mi>b</mi><mi>i</mi><mo>)</mo>
<mo>+</mo>
<mo>(</mo><mi>c</mi><mo>+</mo><mi>d</mi><mi>i</mi><mo>)</mo>
<mo>=</mo>
<mo>(</mo><mi>a</mi><mo>+</mo><mi>c</mi><mo>)</mo>
<mo>+</mo>
<mo>(</mo><mi>b</mi><mo>+</mo><mi>d</mi><mo>)</mo><mi>i</mi>
</mrow>
</math>
(a+bi) + (c+di) = (a+c) + (b+d)i
ComplexExpand[(a + b I) + (c + d I)]
evalc((a + b*I) + (c + d*I));
z = (a + b*1i) + (c + d*1i);
(a+bi)+(c+di)=(a+c)+(b+d)i
(a+bi)(c+di) = (ac−bd) + (ad+bc)i
(a+bi)(c+di) = (ac-bd) + (ad+bc)i
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo>(</mo><mi>a</mi><mo>+</mo><mi>b</mi><mi>i</mi><mo>)</mo>
<mo>(</mo><mi>c</mi><mo>+</mo><mi>d</mi><mi>i</mi><mo>)</mo>
<mo>=</mo>
<mo>(</mo><mi>a</mi><mi>c</mi><mo>−</mo><mi>b</mi><mi>d</mi><mo>)</mo>
<mo>+</mo>
<mo>(</mo><mi>a</mi><mi>d</mi><mo>+</mo><mi>b</mi><mi>c</mi><mo>)</mo><mi>i</mi>
</mrow>
</math>
(a+bi)(c+di) = (ac-bd) + (ad+bc)i
ComplexExpand[(a + b I) (c + d I)]
evalc((a + b*I) * (c + d*I));
z = (a + b*1i) * (c + d*1i);
(a+bi)(c+di)=(ac-bd)+(ad+bc)i
(a+bi)/(c+di) = (ac+bd)/(c²+d²) + {(bc−ad)/(c²+d²)}i
\frac{a+bi}{c+di} = \frac{ac+bd}{c^{2}+d^{2}} + \frac{bc-ad}{c^{2}+d^{2}}\,i
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mfrac>
<mrow><mi>a</mi><mo>+</mo><mi>b</mi><mi>i</mi></mrow>
<mrow><mi>c</mi><mo>+</mo><mi>d</mi><mi>i</mi></mrow>
</mfrac>
<mo>=</mo>
<mfrac>
<mrow><mi>a</mi><mi>c</mi><mo>+</mo><mi>b</mi><mi>d</mi></mrow>
<mrow><msup><mi>c</mi><mn>2</mn></msup><mo>+</mo><msup><mi>d</mi><mn>2</mn></msup></mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow><mi>b</mi><mi>c</mi><mo>−</mo><mi>a</mi><mi>d</mi></mrow>
<mrow><msup><mi>c</mi><mn>2</mn></msup><mo>+</mo><msup><mi>d</mi><mn>2</mn></msup></mrow>
</mfrac>
<mi>i</mi>
</mrow>
</math>
(a+bi)/(c+di) = (ac+bd)/(c^2+d^2) + ((bc-ad)/(c^2+d^2))i
ComplexExpand[(a + b I)/(c + d I)]
evalc((a + b*I) / (c + d*I));
z = (a + b*1i) / (c + d*1i);
(a+bi)/(c+di)=(ac+bd)/(c^2+d^2)+((bc-ad)/(c^2+d^2))i
|a+bi| = √(a²+b²)
\lvert a+bi \rvert = \sqrt{a^{2}+b^{2}}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mo>|</mo><mi>a</mi><mo>+</mo><mi>b</mi><mi>i</mi><mo>|</mo>
<mo>=</mo>
<msqrt>
<mrow><msup><mi>a</mi><mn>2</mn></msup><mo>+</mo><msup><mi>b</mi><mn>2</mn></msup></mrow>
</msqrt>
</mrow>
</math>
|a+bi| = sqrt(a^2+b^2)
ComplexExpand[Abs[a + b I]]
abs(a + b*I);
r = abs(a + b*1i);
|a+bi| = √(a^2+b^2)
ChatGPT 에게 물어서 계산하는 방법
당신은 수학(복소수) 계산 도우미입니다. 다음 계산을 반드시 Python 코드를 실제로 실행해서 하고, 실행 결과의 수치만을 근거로 답해 주세요(암산이나 추측으로 답하지 마세요). 두 복소수 z1 = 1 + 2i, z2 = 3 + 4i에 대해 다음을 각각 보여 주세요. 1. 합 z1 + z2, 차 z1 − z2, 곱 z1 × z2(a+bi 꼴로) 2. 몫 z1 ÷ z2(약분한 분수의 a+bi 꼴로. 분모의 켤레복소수를 곱하는 분모의 실수화 풀이 과정과 함께) 3. 몫의 켤레복소수와 절댓값(절댓값은 근호를 간단히 한 정확한 값과 소수 둘 다) Python에서는 표준 라이브러리의 fractions 모듈을 써서 실수부분과 허수부분을 정확하게 계산하고, 계산에 쓴 식과 실행 결과의 수치를 보여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다