Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++ 복소수 polar() 함수 사용법: 크기와 위상각으로 복소수 만들기

C++의 polar() 함수는 극좌표 형태로 표현된 값을 실제 복소수 객체로 변환해 주는 함수입니다. 즉, 복소수의 크기(magnitude)와 위상각(phase angle)을 인자로 받아 이에 대응하는 복소수를 반환합니다.

이 함수는 C++ 표준 라이브러리의 <complex> 헤더 파일에 정의되어 있으며, 수학 및 공학 계산에서 극형식(polar form)으로 주어진 복소수를 직교좌표 형식(a + bi)으로 손쉽게 변환할 때 유용하게 사용됩니다.

polar() 함수의 동작 원리

polar() 함수는 다음 수식을 기반으로 복소수를 계산합니다.

실수부 = mag × cos(phase)
허수부 = mag × sin(phase)

따라서 크기를 반지름으로 하는 원 위에서 위상각만큼 회전한 지점의 좌표가 곧 결과 복소수가 됩니다.

문법(Syntax)

polar(mag, phase);

매개변수(Parameters) — 두 개의 값을 인자로 받습니다.
- mag: 생성할 복소수의 크기(절댓값)
- phase: 복소수의 위상각(라디안 단위)

반환값(Return value) — 크기와 위상각에 해당하는 복소수 객체를 반환합니다.

예를 들어 다음과 같이 호출하면:

polar(0.2, 0.5)
-> (0.175517, 0.0958851)

사용 예제

#include <iostream>
#include <complex>
using namespace std;

int main () {
    cout << "\t\tRUN 1\n";
    cout << "크기 5.2, 위상각 1.6인 복소수는 ";
    cout << polar(5.2, 1.6) << endl;

    cout << "\t\tRUN 2\n";
    cout << "크기 0.5, 위상각 0.2인 복소수는 ";
    cout << polar(0.5, 0.2) << endl;

    cout << "\t\tRUN 3\n";
    cout << "크기 0.2, 위상각 0.5인 복소수는 ";
    cout << polar(0.2, 0.5) << endl;

    return 0;
}

실행 결과(Output)

RUN 1
크기 5.2, 위상각 1.6인 복소수는 (-0.151838, 5.19778)
RUN 2
크기 0.5, 위상각 0.2인 복소수는 (0.490033, 0.0993347)
RUN 3
크기 0.2, 위상각 0.5인 복소수는 (0.175517, 0.0958851)

정리

C++의 polar() 함수는 복소수의 크기와 위상각을 받아 극형식을 직교좌표 형식의 복소수로 변환해 주는 편리한 도구입니다. 신호 처리, 전자공학, 삼각함수 기반 계산 등 복소수를 다루는 다양한 분야에서 활용할 수 있으며, <complex> 헤더만 포함하면 별도의 구현 없이 바로 사용할 수 있습니다.