# cos

Cosine of `fi` object in radians

## Syntax

``Y = cos(X)``

## Description

example

````Y = cos(X)` returns the cosine for each element of `fi` input `X` using an 8-bit lookup table algorithm.```

## Examples

collapse all

Calculate the cosine of fixed-point input values.

`X = fi([0,pi/4,pi/3,pi/2,(2*pi)/3,(3*pi)/4,pi])`
```X = 0 0.7854 1.0472 1.5708 2.0944 2.3562 3.1416 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13 ```
`Y = cos(X)`
```Y = 1.0000 0.7072 0.4999 0.0001 -0.4999 -0.7070 -1.0000 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 15 ```

## Input Arguments

collapse all

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

`X` can be a real-valued, signed or unsigned:

• `fi` single

• `fi` double

• `fi` fixed-point with binary-point scaling

• `fi` scaled double with binary-point scaling

Example: `X = fi([pi pi/6],1,8);`

Data Types: `fi`

## Output Arguments

collapse all

Cosine of input angle, returned as a real-valued `fi` scalar, vector, matrix, or multidimensional array.

collapse all

### Cosine

The cosine of angle Θ is defined as

`$\mathrm{cos}\left(\theta \right)=\frac{{e}^{i\theta }+{e}^{-i\theta }}{2}$`

## Algorithms

collapse all

The `cos` function computes the cosine of fixed-point input using an 8-bit lookup table as follows:

1. Perform a modulo 2π, so the input is in the range [0,2π) radians.

2. Cast the input to a 16-bit stored integer value, using the 16 most-significant bits.

3. Compute the table index, based on the 16-bit stored integer value, normalized to the full `uint16` range.

4. Use the 8 most-significant bits to obtain the first value from the table.

5. Use the next-greater table value as the second value.

6. Use the 8 least-significant bits to interpolate between the first and second values, using nearest-neighbor linear interpolation.

### `fimath` Propagation Rules

The `cos` function ignores and discards any `fimath` attached to the input, `X`. The output, `Y`, is always associated with the default `fimath`.

## Version History

Introduced in R2012a