Купить Matlab  |  Mathematica  |  Mathcad  |  Maple  |  Statistica  |  Другие пакеты Поиск по сайту
Internet-класс  |  Примеры  |  Методики  |  Форум  |  Download
https://hub.exponenta.ru/


Справочник по Matlab
  • Массивы, матрицы и операции с ними
  • Математические функции
  • Линейная алгебра
  • Анализ и обработка данных
  • Работа с разреженными матрицами
  • Графические команды и функции
  •  
    RAT, RATS
    Представление результата в виде рационального числа или цепной дроби

    Синтаксис:

    [N, D] = rat(X) rat(X) S = rats(X)
    [N, D] = rat(X, tol) rat(X, tol) S = rats(X, tol)

    Описание:

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

    Функция [N, D] = rat(X) определяет для входа x два таких целых числа n и d, при которых выполняется условие n/d - x <= 1e-6*abs(x).

    Функция [N, D] = rat(X, tol) позволяет указать точность приближения tol, отличную от 1e-6.

    Функции rat(X) и rat(X, tol) позволяют вывести на экран результат в виде цепной дроби.

    Если в качестве входа задан массив чисел X, то результатом операций будут массивы соответствующего размера.

    Функция S = rats(X, k) использует функцию rat(X), чтобы вывести на экран результат в виде простой дроби
               s = [sprintf(['%' num2str(fix(k/2)), n) '/' sprintf(['%-' num2str(fix(k/2)) '.0f'], d)],
    точность аппроксимации для которой составляет tol = 10^(-fix(k/2)) * abs(x).

    Для функции S = rats(X) точность аппроксимации принимается по умолчанию равной 1e-6* abs(x), что соответствует значению k = 13.

    Функция format rat равносильна функции rats.

    Алгоритм:

    Функция rat(X) аппроксимирует каждый элемент массива X цепной дробью следующего вид:

    image601.gif (821 bytes)

    Величины dk получены последовательным выделением целой части с последующим обращением дробной части. Точность аппроксимации возрастает по степенному закону с ростом числа членов. Самая медленная сходимость наблюдается при рациональной аппроксимации числа x = sqrt(2). Погрешность аппроксимации с учетом k членов составляет 2.68 * (0.173)^k, так что учет каждого последующего члена увеличивает точность менее чем на одну десятичную цифру, так что для достижения максимальной точности в арифметике с плавающей точкой требуется 21 член.

    Примеры:

    Рассмотрим аппроксимацию числа p в виде цепной дроби и рационального числа

                rat(pi)
                ans = 3 + 1/(7 + 1/(16))
                rat(pi, 1e-12)
                ans = 3 + 1/(7 + 1/(16 + 1/(-294 + 1/(3 + 1/(-4 + 1/(5))))))
                [n,d]=rat(pi);
                [n d]
                ans =   355     113
                [n, d]=rat(pi, 1e-12);
                [n d]
                ans =    5419351    1725033
                s = rats(pi)
                s = 355/113
                s = rats(pi, 26)
                s = 5419351/1725033

    В начало страницы К предыдущему разделуК следующему разделу

    | На первую страницу | Поиск | Купить Matlab

    Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter


    Copyright © 1993-2024. Компания Softline. Все права защищены.

    Дата последнего обновления информации на сайте: 04.03.17
    Сайт начал работу 01.09.00