(Не рекомендуемый) Векторизованная квадратура
quadv не рекомендуется. Используйте integral с 'ArrayValued' опция вместо этого.
Q = quadv(fun,a,b)
Q = quadv(fun,a,b,tol)
Q = quadv(fun,a,b,tol,trace)
[Q,fcnt] = quadv(...)
Q = quadv(fun,a,b) аппроксимирует интеграл функционального fun со знаком комплексного массива от a к b к в ошибке 1.e-6 использование рекурсивной адаптивной квадратуры Симпсона. fun указатель на функцию. Функциональный Y = fun(x) должен принять скалярный аргумент x и возвратите результат массивов Y, чьи компоненты являются подынтегральными выражениями, оцененными в x. Пределы a и b mustBeFinite.
Параметризация Функций объясняет, как предоставить параметры сложения функциональному fun, при необходимости.
Q = quadv(fun,a,b,tol) использует допуск абсолютной погрешности tol для всех интегралов вместо значения по умолчанию, которое является 1.e-6.
Тот же допуск используется во всех компонентах, таким образом, результаты, полученные с quadv обычно не то же самое как полученные с quad на отдельных компонентах.
Q = quadv(fun,a,b,tol,trace) с ненулевым trace показывает значения [fcnt a b-a Q(1)] во время рекурсии.
[Q,fcnt] = quadv(...) возвращает количество функциональных оценок.
Список ниже содержит информацию, чтобы помочь вам определить, какую квадратуру функционируют в MATLAB®, чтобы использовать:
quad функциональная сила быть самым эффективным для низкой точности с несглаженными подынтегральными выражениями.
quadl функциональная сила быть более эффективным, чем quad в более высокой точности со сглаженными подынтегральными выражениями.
quadgk функциональная сила быть самым эффективным для высокой точности и колебательных подынтегральных выражений. Это поддерживает бесконечные интервалы и может обработать умеренную сингулярность в конечных точках. Это также поддерживает контурное интегрирование вдоль кусочных линейных контуров.
quadv функция векторизует quad для fun со знаком массива.
Если интервал бесконечен, , затем для интеграла fun(x) существовать, fun(x) должен затухнуть как x бесконечность подходов и quadgk требует, чтобы он затух быстро. Специальные методы должны использоваться в колебательных функциях на бесконечных интервалах, но quadgk может использоваться если fun(x) затухания достаточно быстро.
quadgk функция интегрирует функции, которые сингулярны в конечных конечных точках, если сингулярность не слишком сильна. Например, это интегрирует функции, которые ведут себя в конечной точке c как log|x-c| или |x-c|p для p >= -1/2. Если функция сингулярна в точках в (a,b), запишите интеграл как сумму интегралов на подынтервалах с особыми точками как конечные точки, вычислите их с quadgk, и добавьте результаты.
Для параметризованного функционального myarrayfun со знаком массива, заданный
function Y = myarrayfun(x,n) Y = 1./((1:n)+x);
следующая команда интегрирует myarrayfun, для значения параметров n = 10 между = 0 и b = 1:
Qv = quadv(@(x)myarrayfun(x,10),0,1);
Полученный массив Qv имеет 10 элементов, оценивающих Q(k) = log((k+1)./(k)), для k = 1:10.
Записи в Qv немного отличаются, чем если бы вы вычисляете интегралы с помощью quad в цикле:
for k = 1:10 Qs(k) = quadv(@(x)myscalarfun(x,k),0,1); end
где myscalarfun :
function y = myscalarfun(x,k) y = 1./(k+x);
dblquad | integral | integral2 | integral3 | quad | quad2d | quadgk | quadl | triplequad