[공학용 계산기] (루트 안에 복소수,허수)를 계산하는 방법
1. 내 계산기는 복소수(허수)의 제곱근을 구할 수 있나?
'n제곱'해서 복소수가 나오는 복소수는 수학적으로 충분히 가능한 일이기 때문에, n√(복소수)도 구해볼법 합니다. 그렇다면 과연 계산기에서 그것을 그대로 입력해 계산할 수 있을까요?
늘 하는 얘깁니다만, 계산기마다 다릅니다.
우선 계산기 기능으로 복소수를 다룰 수 있어야 하는 것은 당연한 일이겠구요.
위와 같이 식을 입력했을 때 에러가 나오지 않아야 하겠지요.
- 에러가 나는 모델 : [fx-570]

- 계산이 되는 모델 : [fx-9860G]

계산 불능으로 에러가 난다면 우선 공식을 유도해서 답을 구해볼 수 있습니다.
2. 제곱수를 이용한 방법
를 만족하는 a+bi (단, a와 b는 실수)를 찾아보겠습니다.
- 양변을 제곱해 변형하면, (a+bi)2 = 5 + 7i 가 됩니다.
이것은 변형한 식이지, 문제와 같은, 동치의 식은 아닙니다.
- 이 식을 풀면

a, b에 대한 2차 방정식이 생기고, {a,b} 에 대한 2쌍의 해를 구할 수 있습니다. (답도 2쌍)

두 쌍의 해 모두 제곱해 보면 5+7i 를 만족함을 알 수 있습니다.
- 그런데 이 해는 처음 식(=문제)의 해가 아니라, 변형한 식(=양변을 제곱한 식)의 해라는 것에 주의해야 합니다.
그럼 이 중에서 무엇이 진짜 근이고, 무엇이 가짜 근일까요?
2.6079+1.34207i 가 진짜근이고 -2.6079-1.34207i 는 가짜근(무연근이라고 하던가요?)이라고 합니다.
실수의 제곱근에 양의 제곱근과 음의 제곱근이 있는 것과 같다고 보시면 될 듯 합니다.
자세한 내용은 "네이버 케스트"(링크) 글을 읽어보시면 도움이 되실 것 같습니다.
위 풀이를 공식으로 정리하면 다음과 같습니다.

3. 페이저(극 좌표)를 이용한 계산법
복소수(complex number)는 극좌표로도 나타낼 수 있는데, 극좌표는 곱하기/나누기 계산에 강점이 있습니다. 이를 이용해서 복소수근을 찾아볼 수 있습니다. 위의 공식을 이용한 계산보다 더 간단하며, 세제곱근, 네제곱근도 찾을 수 있는 장점이 있습니다.
방법은 간단합니다.
- 직교좌표를 극좌표(r, θ) 형식으로 변환합니다.
- r'=√(r), θ'=θ÷2
- (필요하면) 2에서 계산된 값을 직교좌표(a+bi)로 다시 변환합니다.

└ 각도 설정은 Degree / Radian 어느 것이나 상관이 없습니다.
* 극좌표 ↔ 직교좌표를 변환하는 함수는 페이저 계산이 불가능한 최저가형 계산기(fx-350급, EL-509W급)에도 다 있는 기능입니다.
댓글8
-
세상의모든계산기

두 근을 잇는 직선과 실수(x)축 사이의 각도가 0이면, 실수의 두근(양의 근/음의 근)을 의미?

-
세상의모든계산기
세제곱근

일반해를 찾는 공식이 조금 복잡해집니다. 울프람 알파를 참고해야겠네요.
http://www.wolframalpha.com/input/?i=solve%28c%3Da*%28a%5E%282%29-3*b%5E%282%29%29+and+d%3D%283*a%5E%282%29-b%5E%282%29%29*b%2C+%7Ba%2Cb%7D%29
r, θ 를 이용한 방법을 쓰는 것이 훨씬 유리해집니다.
-
세상의모든계산기
http://kin.naver.com/qna/detail.nhn?d1id=11&dirId=113111&docId=287596646
[fx-570ES] COMP 모드 이용
- 【SHIFT】【+】로 Pol 함수를 불러내 입력

└ Degree 모드나 Radian 모드나 상관은 없습니다.
- 결과값을 종이에 적어두거나 머리로 암기할 필요 X
r은 X, θ는 Y에 자동 저장됩니다.
- 【SHIFT】【-】 로 Rec 함수를 불러내 입력
r 값은 루트를 씌워주고, θ 값은 ÷2 를 합니다.

CMPLX 모드에서는 Pol, Rec 함수를 이용할 수 없으므로 직접 수식에 대입시키는 방법 뿐입니다. arg 함수를 이용해 θ값을 찾을 수 있어서, 계산을 2단계로 나눠 할 필요는 없습니다.

r값은 위에서 보시는 것처럼 sqrt(3^2+4^2) 로 구할 수도 있고, Abs(3+4i) 로 구할 수도 있습니다.
【SHIFT】【hyp】 - 【SHIFT】【+】로 Pol 함수를 불러내 입력
-
세상의모든계산기
계산 예시 (fx-570 ES)
http://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1131&docId=288850520
- 우선 복소수 계산과정이 필요하므로 CMPLX 모드를 사용해야만 합니다.
- 루트 안을 따로 계산하고 결과를 변수(A)에 저장합니다.

- A의 극좌표(r∠θ) 꼴에서, r=Abs(A)은 변수(B)에 θ=arg(A)는 변수(C)에 저장합니다.

- √B∠(C÷2) 값을 구합니다.

한 줄 입력시에는 괄호를 빼고 √B∠C÷2 로 입력하면 안됩니다.

세상의모든계산기 님의 최근 댓글
fx-570 CW 는 아래 링크에서 https://allcalc.org/56026 2025 10.24 불러오기 할 때 변수값을 먼저 확인하고 싶을 때는 VARIABLE 버튼 【⇄[x]】목록에서 확인하고 Recall 하시면 되고, 변수값을 이미 알고 있을 때는 바로 【⬆️SHIFT】【4】로 (A)를 바로 입력할 수 있습니다. 2025 10.24 fx-570 CW 로 계산하면? - 최종 확인된 결과 값 = 73.049507058478629343538 (23-digits) - 오차 = 6.632809104889414877 × 10^-19 꽤 정밀하게 나온건 맞는데, 시뮬레이션상의 22-digits 와 오차 수준이 비슷함. 왜 그런지는 모르겠음. - 계산기중 정밀도가 높은 편인 HP Prime CAS모드와 비교해도 월등한 정밀도 값을 가짐. 2025 10.24 HP Prime 에서 <Home> 73.0495070344 (12-decimal-digits) // python 시뮬레이션과 일치 <CAS> 21자리까지 나와서 이상하다 싶었는데, Ans- 에서 자릿수를 더 늘려서 빼보니, 뒷부분 숫자가 아예 바뀌어버림. 버그인가? (전) 73.0495070584718691243 (21-digits ????) (후) 73.0495070584718500814401 (24-digits ????) 찾아보니 버그는 아니고, CAS에서는 십진수가 아니라 2진수(bit) 단위로 처리한다고 함. Giac uses 48 bits mantissa from the 53 bits from IEEE double. The reason is that Giac stores CAS data (gen type) in 64 bits and 5 bits are used for the data type (24 types are available). We therefore loose 5 bits (the 5 low bits are reset to 0 when a double is retrieved from a gen). 출처 : https://www.hpmuseum.org/cgi-bin/archv021.cgi?read=255657 일단 오차를 놓고 보면 16-decimal-digits 수준으로 보임. 2025 10.23 khiCAS 에서 HP 39gII 에 올린 khiCAS는 254! 까지 계산 가능, 255! 부터는 ∞ fx-9750GIII 에 올린 khiCAS는 factorial(533) => 425760136423128437▷ // 정답, 10진수 1224자리 factorial(534) => Object too large 2025 10.23