# Documentation

### This is machine translation

Translated by
Mouse over text to see original. Click the button below to return to the English verison of the page.

# rats

Rational output

## Syntax

• ``S = rats(X)``
example
• ``S = rats(X,strlen)``
example

## Description

example

````S = rats(X)` returns a character vector containing the rational approximations to the elements of `X` using the default length of `13`.`rats` returns asterisks for elements that cannot be printed in the allotted space, but which are not negligible compared to the other elements in `X`.```

example

````S = rats(X,strlen)` returns a character vector of length `strlen`. The rational approximation uses a tolerance that is inversely proportional to the length.```

## Examples

collapse all

Create a 4-by-4 matrix.

```format short X = hilb(4) ```
```X = 1.0000 0.5000 0.3333 0.2500 0.5000 0.3333 0.2500 0.2000 0.3333 0.2500 0.2000 0.1667 0.2500 0.2000 0.1667 0.1429 ```

View the rational representation of the matrix using `rats`. The result is the same as using `format rat`.

```R = rats(X) ```
```R = 1 1/2 1/3 1/4 1/2 1/3 1/4 1/5 1/3 1/4 1/5 1/6 1/4 1/5 1/6 1/7 ```

Find the rational representation of `pi` with the default character vector length and approximation tolerance. The result is the same as using `format rat`.

```rats(pi) ```
```ans = 355/113 ```

Adjust the length of the output, which also adjusts the approximation tolerance.

```rats(pi,20) ```
```ans = 104348/33215 ```

The resulting rational approximation has greater accuracy. As the output length increases, the tolerance decreases.

Adjust the output length again to achieve greater accuracy.

```rats(pi,25) ```
```ans = 1146408/364913 ```

The resulting approximation agrees with `pi` to 10 decimal places.

## Input Arguments

collapse all

Input array, specified as a numeric array of class `single` or `double`.

Data Types: `single` | `double`
Complex Number Support: Yes

Length of character vector, specified as a positive integer. The default length is 13, which allows for 6 elements in 78 spaces.

## Output Arguments

collapse all

Rational output, returned as a character vector.

collapse all

### Algorithms

`rats` obtains rational approximations with ```[N,D] = rat(X,tol)```, where `tol` is `min(10^(-(strlen-1)/2)*norm(X(isfinite(X)),1),.1)`. Thus, the tolerance is inversely proportional to the output length, `strlen`.

Watch now