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. 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 на матрице данных. В случаях, где функциональное выражение известно, можно вместо этого использовать integralintegral2, или 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)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