Рациональное дробное приближение
R = rat(X)
R = rat(X,tol)
[N,D] =
rat(___)
возвращает рациональное дробное приближение R
= rat(X
)X
к в допуске по умолчанию, 1e-6*norm(X(:),1)
. Приближение является символьным массивом, содержащим усеченное продолжительное дробное расширение.
Даже при том, что все числа с плавающей запятой являются рациональными числами, иногда желательно аппроксимировать их простыми рациональными числами, которые являются частями, числитель которых и знаменатель являются маленькими целыми числами. Рациональные приближения сгенерированы путем усечения расширений непрерывной дроби.
Функция rat
аппроксимирует каждый элемент X
непрерывной дробью формы
D s получен путем повторного собирания целой части и затем взятия обратной величины дробной части. Точность приближения увеличивается экспоненциально с количеством условий и хуже когда X = sqrt(2)
. Для X = sqrt(2)
ошибка с условиями k
о 2.68*(.173)^k
, таким образом, каждое дополнительное условие увеличивает точность меньше чем на одну десятичную цифру. Требуется 21 условие, чтобы получить полную точность с плавающей точкой.