rats

Рациональный выход

Описание

пример

S = rats(X) возвращает вектор символов, содержащий рациональные приближения к элементам X. Звездочки указывают элементы, которые не могут быть напечатаны в строке указанной длины, но которые не незначительны по сравнению с другими элементами в X.

пример

S = rats(X,strlen) задает длину вектора символов, используемую для рационального приближения. Для действительных входов strlength(S) равно strlen+1, в то время как для сложных входов это равно 2*strlen+3. Рациональное приближение использует допуск, который обратно пропорциональен заданной длине, как объяснено в разделе Алгоритмы.

Примеры

свернуть все

Создайте матрицу 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

Просмотрите рациональное представление матрицы используя rats. Результат такой же, как и при использовании format rat.

R = rats(X)
R = 4x56 char array
    '       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     '

Найдите рациональное представление pi с длиной вектора символов по умолчанию и допуском приближения. Результат такой же, как и при использовании format rat.

rats(pi)
ans = 
'    355/113   '

Отрегулируйте длину выхода, что также регулирует допуск приближения.

rats(pi,20)
ans = 
'    104348/33215     '

Получившееся рациональное приближение имеет большую точность. Когда длина выхода увеличивается, допуск уменьшается.

Снова отрегулируйте длину выхода, чтобы достичь большей точности.

rats(pi,25)
ans = 
'      1146408/364913      '

Получившееся приближение согласуется с pi до 10 десятичных знаков.

Входные параметры

свернуть все

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

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

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

Длина по умолчанию 13 создает векторы символов длины strlen+1 для действительных входов и длины 2*strlen+3 для сложных входов.

Алгоритмы

rats получает рациональные приближения с [N,D] = rat(X,tol), где tol является min(10^(-(strlen-1)/2)*norm(X(isfinite(X)),1),.1). Таким образом, допуск обратно пропорциональна длине выхода, strlen.

См. также

|

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