rat

Aproximação racional de um número por frações contínuas.

Categoria: Mathematics > Elementary Math

Sintaxe

S = rat(X)

Retorna um vetor de caracteres com a expansão em fração contínua de X.

[N, D] = rat(X)

Retorna numeradores N e denominadores D tais que N./D aproxima X.

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

Usa a tolerância tol sobre o erro relativo.

Descrição

O algoritmo toma repetidamente o inteiro mais próximo e inverte o resto, o que produz as convergentes da fração contínua. Para quando a aproximação está dentro da tolerância. Assim pi vira 355/113, uma aproximação famosamente boa.

A forma em texto usa arredondamento para o inteiro mais próximo, e não truncamento, então rat(0.75) é escrito 1 + 1/(-4), que é igual a 0.75. Use rats para exibir frações.

Argumentos de entrada

X
Array real.
tol
Tolerância da aproximação. O padrão é 1e-6*norm(X(:), 1).

Argumentos de saída

S
Texto como 3 + 1/(7 + 1/(16)): cada termo é um valor arredondado, por isso alguns são negativos.
N, D
Arrays de valores inteiros do mesmo tamanho de X; o denominador é positivo.

Exemplo

Frações a partir de decimais

[n, d] = rat(0.75)
[n, d] = rat(pi)
rat(pi)
Saída
n = 3
d = 4
n = 355
d = 113
ans = '3 + 1/(7 + 1/(16))'

Veja também

rats gcd format round