trapz

Трапециевидное численное интегрирование

Синтаксис

Q = trapz(Y)
Q = trapz(X,Y)
Q = trapz(___,dim)

Описание

пример

Q = trapz(Y) вычисляет аппроксимированный интеграл Y с помощью трапециевидного метода с модульным интервалом. Размер Y определяет размерность, чтобы интегрироваться вперед:

  • Если Y является вектором, то trapz(Y) является аппроксимированным интегралом Y.

  • Если Y является матрицей, то trapz(Y) интегрируется по каждому столбцу и возвращает вектор - строку из значений интегрирования.

  • Если Y является многомерным массивом, то trapz(Y) интегрируется по первой размерности, размер которой не равняется 1. Размер этой размерности становится 1, и размеры других размерностей остаются неизменными.

пример

Q = trapz(X,Y) интегрирует Y относительно координат или скалярного интервала, заданного X.

  • Если X является вектором координат, то length(X) должен быть равен размеру первой размерности Y, размер которого не равняется 1.

  • Если X является скалярным интервалом, то trapz(X,Y) эквивалентен X*trapz(Y).

пример

Q = trapz(___,dim) интегрирует по измерению dim с помощью любого из предыдущих синтаксисов. Вы должны задать Y, и опционально можете задать X. Если вы задаете X, то это может быть скаляр или вектор с длиной, равной size(Y,dim). Например, если Y является матрицей, то trapz(X,Y,2) интегрирует каждую строку Y.

Примеры

свернуть все

Вычислите интеграл вектора, где интервал между точками данных равняется 1.

Создайте числовой вектор данных.

Y = [1 4 9 16 25];

Y содержит значения функции для в области [1, 5].

Используйте trapz, чтобы интегрировать данные с модульным интервалом.

Q = trapz(Y)
Q = 42

Это аппроксимированное интегрирование приводит к значению 42. В этом случае точный ответ немного меньше. Функция trapz переоценивает значение интеграла, потому что f (x) является вогнутым.

Вычислите интеграл вектора, где интервал между точками данных универсален, но не равен 1.

Создайте доменный вектор.

X = 0:pi/100:pi;

Вычислите синус X.

Y = sin(X);

Интегрируйте Y с помощью trapz.

Q = trapz(X,Y)
Q = 1.9998

Когда интервал между точками является постоянным, но не равным 1, альтернатива созданию вектора для X должна задать скалярное значение разрядки. В этом случае trapz(pi/100,Y) совпадает с pi/100*trapz(Y).

Интегрируйте строки матрицы, где данные имеют неоднородный интервал.

Создайте вектор x-координат и матрицу наблюдений, которые происходят в неправильных интервалах. Строки Y представляют скоростные данные, взятые во времена, содержавшиеся в X, для трех различных испытаний.

X = [1 2.5 7 10];
Y = [5.2   7.7   9.6   13.2;
     4.8   7.0  10.5   14.5;
     4.9   6.5  10.2   13.8];

Используйте trapz, чтобы интегрировать каждую строку независимо и найти, что общее расстояние переместилось в каждом испытании. Поскольку данные не оценены в постоянных интервалах, задайте X, чтобы указать на интервал между точками данных. Задайте dim = 2, поскольку данные находятся в строках Y.

Q1 = trapz(X,Y,2)
Q1 = 3×1

   82.8000
   85.7250
   82.1250

Результатом является вектор - столбец значений интегрирования, один для каждой строки в Y.

Создайте сетку значений домена.

x = -3:.1:3; 
y = -5:.1:5; 
[X,Y] = meshgrid(x,y);

Вычислите функцию на сетку.

F = X.^2 + Y.^2;

trapz интегрирует числовые данные, а не функциональные выражения, таким образом, в целом выражение, как должно быть известно, не использует trapz на матрице данных. В случаях, где функциональное выражение известно, можно вместо этого использовать integral, integral2 или integral3.

Используйте trapz, чтобы аппроксимировать двойной интеграл

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

I = trapz(y,trapz(x,F,2))
I = 680.2000

trapz выполняет интегрирование по x сначала, производя вектор - столбец. Затем интегрирование по y уменьшает вектор - столбец до единственного скаляра. trapz немного переоценивает точный ответ 680, потому что f (x, y) является вогнутым.

Входные параметры

свернуть все

Числовые данные, заданные как вектор, матрица или многомерный массив. По умолчанию trapz интегрируется по первому измерению Y, размер которого не равняется 1.

Типы данных: single | double
Поддержка комплексного числа: Да

Укажите интервал, заданный как 1 (значение по умолчанию), универсальный скалярный интервал или вектор координат.

  • Если X является скаляром, то он указывает, что универсальный интервал между точками данных и trapz(X,Y) эквивалентен X*trapz(Y).

  • Если X является вектором, то он задает x-координаты для точек данных, и length(X) должен совпасть с размером размерности интегрирования в Y.

Типы данных: single | double

Величина для работы, заданная как положительный целый скаляр. Если значение не задано, то по умолчанию это первый размер массива, не равный 1.

Рассмотрите двумерный входной массив, Y:

  • trapz(Y,1) работает на последовательных элементах в столбцах Y и возвращает вектор - строку.

  • trapz(Y,2) работает на последовательных элементах в строках Y и возвращает вектор - столбец.

Если dim больше, чем ndims(Y), то trapz возвращает массив нулей, одного размера как Y.

Больше о

свернуть все

Трапециевидный метод

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

Поскольку интегрирование с N+1 равномерно расположило точки с интервалами, приближение

∫abf (x) дуплексный  b−a2N∑n=1N (f (xn) +f (xn+1)) =b−a2N [f (x1) +2f (x2) +... +2f (xN) +f (xN+1)]   ,

где интервал между каждой точкой равен скалярному значению b−aN. MATLAB® по умолчанию использует интервал 1.

Если интервал между точками N+1 не является постоянным, то формула делает вывод к

∫abf (x) дуплекс   ≈    12n=1 Н (xn+1−xn) [f (xn) +f (xn+1)] ,

где a=x1 <x2 <  ...    <xN <xN+1=b, и (xn+1−xn) является интервалом между каждой последовательной парой точек.

Советы

  • Используйте trapz и cumtrapz, чтобы выполнить численное интегрирование на наборах дискретных данных. Используйте integral, integral2 или integral3 вместо этого, если функциональное выражение для данных доступно.

  • trapz уменьшает размер размерности, которой это управляет на 1 и возвращает только итоговое значение интегрирования. cumtrapz также возвращает промежуточные значения интегрирования, сохраняя размер размерности, с которой это работает.

Расширенные возможности

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

Была ли эта тема полезной?