trapz

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

Описание

пример

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 содержит значения функций для f(x)=x2 в области [1, 5].

Использование trapz для интегрирования данных с единичным интервалом.

Q = trapz(Y)
Q = 42

Это приблизительное интегрирование приводит к значению 42. В этом случае точный ответ чуть меньше, 4113. The 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,y)=x2+y2 на сетке.

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

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

Использование trapz для аппроксимации двойного интеграла

I=-55-33(x2+y2)dxdy

Чтобы выполнить двойное или тройное интегрирование массива числовых данных, вложите вызовы функции в 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 -cordinates для точек данных и 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)dxba2Nn=1N(f(xn)+f(xn+1))=ba2N[f(x1)+2f(x2)+...+2f(xN)+f(xN+1)],

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

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

abf(x)dx12n=1N(xn+1xn)[f(xn)+f(xn+1)],

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

Совет

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

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

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

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