Main Content

cospi

cos(X*pi)를 정확하게 계산

설명

예제

Y = cospi(X)X*pi를 명시적으로 계산하지 않고 cos(X*pi)를 계산합니다. 이 계산은 cos(X*pi)보다 더 정확한데, 그 이유는 pi의 부동소수점 값은 π의 근삿값이기 때문입니다. 구체적으로 살펴보면,

  • 홀수인 정수에 대해 cospi(n/2)은 정확히 0입니다.

  • 정수에 대해 cospi(n)은 +1 또는 -1입니다.

예제

모두 축소

cospi(X)cos(X*pi)의 정확도를 비교합니다.

값의 벡터를 만듭니다.

X = [0 1/2 1 3/2 2];

보통의 cos 함수를 사용하여 X*pi의 코사인을 계산합니다.

Y = cos(X*pi)
Y = 1×5

    1.0000    0.0000   -1.0000   -0.0000    1.0000

piπ의 실제 값의 부동소수점 근삿값이므로 계산 결과에는 작은 수치 오차가 포함됩니다. 예를 들어, cos(π2)=0이더라도 Y(2)정확히 0이 아닙니다.

Y(2)
ans = 6.1232e-17

cospi를 사용하여 같은 값을 계산합니다. 이 경우 결과 값이 정확합니다.

Z = cospi(X)
Z = 1×5

     1     0    -1     0     1

Z(2)
ans = 0

입력 인수

모두 축소

입력 배열로, 스칼라, 벡터, 행렬, 다차원 배열, table형 또는 timetable형으로 지정됩니다.

데이터형: single | double | table | timetable
복소수 지원 여부:

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

스레드 기반 환경
MATLAB®의 backgroundPool을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool을 사용해 코드 실행 속도를 높일 수 있습니다.

버전 내역

R2018b에 개발됨

모두 확장

참고 항목

| |