sin ↗
Use the sin() function to calculate the sine of a numeric value specified in radians.
Syntax
sin(<numeric_expression>)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
numeric_expression |
integer, float | Yes | The angle in radians for which to calculate the sine. Any real number is valid. |
Returns
Type: float
Description: The sin() function returns the sine of the input angle. The resulting value is within the range [-1, 1].
Usage notes
- Input type: XQL doesn't support NaN or infinite values as input and these value types also can not be returned.
- Valid Input Range: The
sin()function accepts any real number as input. The input is interpreted as an angle in radians. - Null Handling: If the input expression is
null, the function returnsnull. - Degrees to Radians: If your input is in degrees, convert it to radians first by multiplying by
PI() / 180. - Periodicity: The sine function is periodic with period 2π, meaning
sin(x) = sin(x + 2π). - Key Values:
sin(0)returns0.0,sin(π/2)returns1.0,sin(π)returns0.0,sin(3π/2)returns-1.0. - Symmetry: The function is odd, meaning
sin(-x) = -sin(x). - Common Use Cases: This function is typically used within the
alterstage for trigonometric calculations, signal processing, coordinate transformations, and wave analysis.
Examples
Example 1: Calculate sine of literal values
Goal: Calculate the sine for specific radian values to verify known mathematical results.
XQL code:
dataset = xdr_data | limit 1 | alter result1 = sin(0), result2 = sin(divide(pi(), 2)), result3 = sin(pi()) | fields result1, result2, result3
Explanation: sin(0) returns 0.0, sin(π/2) returns 1.0, and sin(π) returns approximately 0.0 (a very small number close to zero due to floating-point precision).
Output:
| RESULT1 | RESULT2 | RESULT3 |
|---|---|---|
| 0.0 | 1.0 | 0.0 |
Example 2: Calculate sine from a field value
Goal: Calculate the sine of values stored in a dataset field, treating them as angles in radians.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter sin_val = sin(numeric_value) | fields event_id, numeric_value, sin_val | limit 3
Explanation: This query computes the sine for each value in the numeric_value field and stores the result in sin_val. Since sin() accepts any real number, no filtering is needed.
Output:
| EVENT_ID | NUMERIC_VALUE | SIN_VAL |
|---|---|---|
| 101 | 0.0 | 0.0 |
| 102 | 1.5708 | 1.0 |
| 103 | 3.14159 | 0.0 |
Example 3: Use sine in a coordinate transformation
Goal: Use the sine function to compute the y-component of a polar-to-Cartesian coordinate transformation.
XQL code:
config timeframe = 1d | dataset = sample_xql_raw | alter y_component = multiply(numeric_value, sin(duration_seconds)) | fields event_id, numeric_value, duration_seconds, y_component | limit 3
Explanation: This query computes the y-component of a polar coordinate transformation using the formula y = r * sin(θ), where numeric_value is the radius and duration_seconds is the angle in radians.
Output:
| EVENT_ID | NUMERIC_VALUE | DURATION_SECONDS | Y_COMPONENT |
|---|---|---|---|
| 101 | 5.0 | 0.0 | 0.0 |
| 102 | 3.0 | 1.5708 | 3.0 |
| 103 | 7.0 | 3.14159 | 0.0 |