Main Content

sinpi

Compute sin(X*pi) accurately

Syntax

Description

example

Y = sinpi(X)computessin(X*pi)without explicitly computingX*pi. This calculation is more accurate thansin(X*pi)because the floating-point value ofpiis an approximation of π. In particular:

  • For integers,sinpi(n)is exactly zero.

  • For odd integers,sinpi(n/2)is +1 or -1.

Examples

collapse all

Compare the accuracy ofsinpi(X)vs.sin(X*pi).

Create a vector of values.

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

Calculate the sine ofX*piusing the normalsinfunction.

Y = sin(X*pi)
Y =1×50 1.0000 0.0000 -1.0000 -0.0000

The results contain small numerical errors due to the fact thatpiis a floating-point approximation of the true value of π . For instance,Y(3)is notexactlyzero even though sin ( π ) = 0 .

Y(3)
ans = 1.2246e-16

Usesinpito calculate the same values. In this case, the results are exact.

Z = sinpi(X)
Z =1×50 1 0 -1 0
Z(3)
ans = 0

Input Arguments

collapse all

Input array, specified as a scalar, vector, matrix, or multidimensional array.

Data Types:single|double
Complex Number Support:Yes

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

See Also

||

Introduced in R2018b