exponenta event banner

черт

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

Описание

пример

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