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


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

    Синтаксис:

                [I, cnt] = quad(‘<имя функции>‘, a, b)
                [I, cnt] = quad(‘<имя функции>‘, a, b, tol)
                [I, cnt] = quad(‘<имя функции>‘, a, b, tol, trace)
                [I, cnt] = quad8(‘<имя функции>‘, a, b)
                [I, cnt] = quad8(‘<имя функции>‘, a, b, tol)
                [I, cnt] = quad8(‘<имя функции>‘, a, b, tol, trace)

    Описание:

    Квадратура - это численный метод вычисления площади под графиком функции, то есть вычисление определенного интеграла вида

                I =  image816.gif (309 bytes) .

    Функции quad и quad8 используют разные квадратурные формулы.

    Функции [I, cnt] = quad(‘<имя функции>‘, a, b) и [I, cnt] = quad8(‘<имя функции>‘, a, b) вычисляют интеграл от заданной функции; последняя может быть как встроенной функцией, так и М-файлом. Переменная cnt содержит информацию о том, сколько раз в процессе интегрирования вычислялась подынтегральная функция.

    Функции [I, cnt] = quad(‘<имя функции>‘, a, b, tol) и [I, cnt] = quad8(‘<имя функции>‘, a, b, tol) вычисляют интеграл с заданной относительной погрешностью tol. По умолчанию tol = 1e-3.

    Функции [I, cnt] = quad(‘<имя функции>‘, a, b, tol, trace) и [I, cnt] = quad8(‘<имя функции>‘, a, b, tol, trace), когда аргумент trace не равен нулю, строят график, показывающий ход вычисления интеграла.

    Примеры:

    Вычислим интеграл

              I =  image817.gif (333 bytes) .

    Его точное значение равно двум.

    [I, cnt] = quad('sin', 0, pi) [I, cnt] = quad('sin', 0, pi, 1e-4, 1)
    I = 2.0000 I = 2.0000
    cnt = 17 cnt = 33

    Как следует из анализа полученных данных, при увеличении точности вычисления на порядок почти вдвое увеличивается трудоемкость расчетов. График с результатами промежуточных расчетов показан на рисунке.

    image818.gif (2262 bytes)

    Алгоритм:

    Функция quad использует квадратурные формулы Ньютона - Котеса 2-го порядка (правило Симпсона), а функция quad8 - формулы 8-го порядка [1-2]. При наличии в подынтегральной функции особенностей типа

             I =   image819.gif (313 bytes)

    предпочтительнее использовать процедуру quad8.

    Диагностические сообщения:

    Функции quad и quad8 используют рекурсивный вызов. Для того чтобы предотвратить бесконечную рекурсию при вычислении сингулярных интегралов, глубина рекурсии ограничена уровнем 10. При достижении этого ограничения выдается сообщение

                 Recursion level limit reached in quad. Singularity likely.
                 В процедуре quad достигнута предельная глубина рекурсии. Функция, возможно, сингулярна.

    Ограничения:

    Функции quad и quad8 не позволяют интегрировать функции с особенностями типа

            I =  image820.gif (320 bytes) .

    В этом случае рекомендуется выделить такие члены и проинтегрировать их аналитически, а к остатку применить процедуры quad и quad8.

    Сопутствующие функции: SUM, CUMSUM, TRAPZ.

    Ссылки:

    1. Forsythe G. E., Malcolm M. A., Moler C. B. Computer Methods for Mathematical Computations. Prentice-Hall, 1977.

    2. Справочник по специальным функциям: Пер. с англ./Под ред. М. Абрамовица и И. Стиган. М.: Наука, 1979.

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

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

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


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

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