This is machine translation

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


Rational output




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.


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


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.

ans =


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

ans =


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

Adjust the output length again to achieve greater accuracy.

ans =


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.

More About

collapse all


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.

See Also


Introduced before R2006a

Was this topic helpful?