exponenta event banner

четверка

(Не рекомендуемый), Численно оценивают интеграл, адаптивную квадратуру Симпсона

quad не рекомендуется. Используйте integral вместо этого.

Синтаксис

q = quad(fun,a,b)
q = quad(fun,a,b,tol)
q = quad(fun,a,b,tol,trace)
[q,fcnt] = quad(...)

Описание

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

q=abf(x) dx

q = quad(fun,a,b) попытки аппроксимировать интеграл функционального fun от a до b к в ошибке 1e-6 с помощью рекурсивной адаптивной квадратуры Симпсона. fun является указателем на функцию. Пределы a и b должны быть конечными. Функциональный y = fun(x) должен принять аргумент вектора x и возвратить векторный результат y, подынтегральное выражение, оцененное в каждом элементе x.

Параметризация Функций объясняет, как предоставить дополнительные параметры функциональному fun при необходимости.

q = quad(fun,a,b,tol) использует допуск абсолютной погрешности tol вместо значения по умолчанию, которое является 1.0e-6. Большие значения tol приводят к меньшему количеству функциональных оценок и более быстрому вычислению, но менее точным результатам. В версии 5.3 MATLAB® и ранее, функция quad использовала менее надежный алгоритм и относительный допуск по умолчанию 1.0e-3.

q = quad(fun,a,b,tol,trace) с ненулевым trace показывает значения    [fcnt a b-a Q] во время рекурсии.

[q,fcnt] = quad(...) возвращает количество функциональных оценок.

Функциональный quadl может быть более эффективным с высокой точностью и сглаживать подынтегральные выражения.

Список ниже содержит информацию, чтобы помочь вам определить, какую квадратуру функционируют в MATLAB, чтобы использовать:

  • Функция quad может быть самой эффективной для низкой точности с несглаженными подынтегральными выражениями.

  • Функция quadl может быть более эффективной, чем quad в более высокой точности со сглаженными подынтегральными выражениями.

  • Функция quadgk может быть самой эффективной для высокой точности и колебательных подынтегральных выражений. Это поддерживает бесконечные интервалы и может обработать умеренные особенности в конечных точках. Это также поддерживает контурное интегрирование вдоль кусочных линейных контуров.

  • Функция quadv векторизует quad для fun со знаком массива.

  • Если интервал бесконечен, [a,), затем для интеграла fun(x), чтобы существовать, fun(x) должен затухнуть как бесконечность подходов x, и quadgk требует, чтобы он затух быстро. Специальные методы должны использоваться для колебательных функций на бесконечных интервалах, но quadgk может использоваться, если fun(x) затухает достаточно быстро.

  • Функция quadgk интегрирует функции, которые сингулярны в конечных конечных точках, если особенности не слишком сильны. Например, это интегрирует функции, которые ведут себя в конечной точке c как log|x-c| или |x-c|p для p >= -1/2. Если функция сингулярна в точках в (a,b), запишите интеграл как сумму интегралов на подынтервалах с особыми точками как конечные точки, вычислите их с quadgk и добавьте результаты.

Примеры

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

021x32x5dx,

запишите функциональный myfun, который вычисляет подынтегральное выражение:

function y = myfun(x) 
y = 1./(x.^3-2*x-5);

Затем передайте @myfun, указатель на функцию к myfun, к quad, наряду с пределами интегрирования, 0 к 2:

Q = quad(@myfun,0,2)

Q =

   -0.4605

Также можно передать подынтегральное выражение quad как указатель анонимной функции F:

F = @(x)1./(x.^3-2*x-5);
Q = quad(F,0,2); 

Диагностика

quad может выдать одно из соблюдающих предупреждений:

'Minimum step size reached' указывает, что рекурсивное подразделение интервала произвело подынтервал, длина которого находится на порядке ошибки округления в длине исходного интервала. Неинтегрируемая особенность возможна.

'Maximum function count exceeded' указывает, что подынтегральное выражение было оценено больше чем 10 000 раз. Неинтегрируемая особенность вероятна.

'Infinite or Not-a-Number function value encountered' указывает на переполнение с плавающей точкой или деление на нуль во время оценки подынтегрального выражения во внутренней части интервала.

Алгоритмы

quad реализует метод низкого порядка точности, использующий правило адаптивного рекурсивного Симпсона.

Ссылки

[1] Гандер, W. и В. Гочи, “Адаптивная Квадратура – Пересмотренный”, BIT, Издание 40, 2000, стр 84-101. Этот документ также доступен в https://www.inf.ethz.ch/personal/gander.

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