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))'