exponenta event banner

ловушки

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

Описание

пример

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. 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 для точек данных и 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) dx 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) dx 12∑n=1N (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