exponenta event banner

крыса

Аппроксимация рациональной дроби

Описание

пример

R = rat(X) возвращает рациональную дробную аппроксимацию X в пределах допуска по умолчанию, 1e-6*norm(X(:),1). Аппроксимация представляет собой символьный массив, содержащий усеченное непрерывное дробное расширение.

пример

R = rat(X,tol) приближается X в пределах допуска, tol.

пример

[N,D] = rat(___) возвращает два массива, N и D, такой, что N./D приближается X, используя любой из вышеперечисленных синтаксисов.

Примеры

свернуть все

Аппроксимировать значение δ с помощью рационального представления величины pi.

Математическая величина δ является не рациональным числом, а величиной pi что приближает это является рациональным числом, так как все числа с плавающей запятой являются рациональными.

Найти рациональное представление pi.

format rational
pi
ans = 
     355/113   

Результирующее выражение является символьным вектором. Вы также можете использовать rats(pi) получить тот же ответ.

Использовать rat чтобы увидеть продолжающееся дробное расширение pi.

R = rat(pi)
R = 
'3 + 1/(7 + 1/(16))'

Результатом является аппроксимация продолжающимся дробным расширением. Если рассматривать первые два члена расширения, получается приближение 3 + 17 = 227, что только согласуется сpi до 2 десятичных знаков.

Однако, если учесть все три условия, напечатанные rat, вы можете восстановить значение 355/113, которая согласна с pi до 6 десятичных знаков.

3+17+116=355113

Задайте допуск для дополнительной точности аппроксимации.

R = rat(pi,1e-7)
R = 
'3 + 1/(7 + 1/(16 + 1/(-294)))'

Результирующее приближение, 104348/33215, соглашается с pi до 9 десятичных знаков.

Создайте матрицу 4 на 4.

format short;
X = hilb(4)
X = 4×4

    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

Выразить элементы X как отношения малых целых чисел с использованием rat.

[N,D] = rat(X)
N = 4×4

     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1

D = 4×4

     1     2     3     4
     2     3     4     5
     3     4     5     6
     4     5     6     7

Две матрицы, N и D, приблизительный X с N./D.

Просмотр элементов X в качестве соотношений с использованием format rational.

format rational
X
X = 
       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     

В этом виде ясно, что N содержит числители каждой дроби и D содержит знаменатели.

Входные аргументы

свернуть все

Входной массив, заданный как числовой массив класса single или double.

Типы данных: single | double
Поддержка комплексного номера: Да

Допуск, заданный как скаляр. N и D приблизительный X, такой, что abs(N./D - X) <= tol. Допуск по умолчанию: 1e-6*norm(X(:),1).

Выходные аргументы

свернуть все

Продолженная дробь, возвращенная в виде символьного массива с m строки, где m - количество элементов в X. Точность рационального приближения через непрерывные дроби увеличивается с числом слагаемых.

Числитель, возвращаемый в виде числового массива. N./D приближается X.

Знаменатель, возвращаемый в виде числового массива. N./D приближается X.

Алгоритмы

Даже если все числа с плавающей запятой являются рациональными числами, иногда желательно аппроксимировать их простыми рациональными числами, которые являются дробями, числителем и знаменателем которых являются малые целые числа. Рациональные аппроксимации формируются путем усечения продолжающихся дробных расширений.

rat функция аппроксимирует каждый элемент X на продолжительную долю формы

ND=D1+1D2+1⋱+1Dk.

Ds получаются многократным отбором целочисленной части и последующим взятием ответной части дробной части. Точность аппроксимации увеличивается экспоненциально с числом членов и является наихудшей, когда X = sqrt(2). Для X = sqrt(2) , ошибка с k условия о 2.68*(.173)^k, поэтому каждый дополнительный член увеличивает точность менее чем на одну десятичную цифру. Для получения полной точности с плавающей запятой требуется 21 срок.

Расширенные возможности

.

См. также

|

Представлен до R2006a