rat Floating point rational approximation

## Syntax

    [N,D]=rat(X [,tol])
                Y=rat(X [,tol])

## Arguments

X

  real vector or matrix

tol

  real positive scalar, the tolerance (see below). Default value is 1d-6.

N

  integer vector or matrix

D

  integer vector or matrix

Y

  real vector or matrix

## Description

`[N,D] = rat(X,tol)` returns two integer matrices so that `N./D` is close to`X` in the sense that `abs(N./D - X) <= tol*norm(X,1)*abs(X)`.

`y=rat(x,tol)` return the quotient `N./D`

The rational approximations are generated by truncating continued fraction expansions.

## Examples

    [n,d]=rat([3.5, 1.333333,-0.8])
    [n,d]=rat(%pi)
    [n,d]=rat(%pi,1.d-12)
    n/d-%pi

## See also

- int
- round