Main Content

trapz

Integración numérica trapezoidal

Descripción

ejemplo

Q = trapz(Y) calcula la integral aproximada de Y mediante el método trapezoidal con separación unitaria. El tamaño de Y determina la dimensión en la que integrar:

  • Si Y es un vector, trapz(Y) es la integral aproximada de Y.

  • Si Y es una matriz, trapz(Y) integra cada columna y devuelve un vector fila de valores de integración.

  • Si Y es un arreglo multidimensional, trapz(Y) integra la primera dimensión cuyo tamaño no es igual a 1. El tamaño de esta dimensión se convierte en 1 y los tamaños de las demás dimensiones no cambian.

ejemplo

Q = trapz(X,Y) integra Y respecto a las coordenadas o la separación escalar especificada por X.

  • Si X es un vector de coordenadas, length(X) debe ser igual al tamaño de la primera dimensión de Y cuyo tamaño no es igual a 1.

  • Si X es una separación escalar, trapz(X,Y) equivale a X*trapz(Y).

ejemplo

Q = trapz(___,dim) integra en la dimensión dim mediante cualquiera de las sintaxis anteriores. Debe especificar Y y, de manera opcional, puede especificar X. Si especifica X, puede ser un escalar o un vector con una longitud igual a size(Y,dim). Por ejemplo, si Y es una matriz, trapz(X,Y,2) integra cada fila de Y.

Ejemplos

contraer todo

Calcule la integral de un vector en el que la separación entre los puntos de datos es 1.

Cree un vector numérico de datos.

Y = [1 4 9 16 25];

Y contiene valores de función para f(x)=x2 en el dominio [1, 5].

Utilice trapz para integrar los datos con separación unitaria.

Q = trapz(Y)
Q = 42

Esta integración aproximada produce un valor de 42. En este caso, la respuesta exacta es un poco inferior: 4113. La función trapz sobreestima el valor de la integral porque f(x) es cóncava hacia arriba.

Calcule la integral de un vector en el que la separación entre los puntos es uniforme, pero no es igual a 1.

Cree un vector dominio.

X = 0:pi/100:pi;

Calcule el seno de X.

Y = sin(X);

Integre Y mediante trapz.

Q = trapz(X,Y)
Q = 1.9998

Cuando la separación entre puntos es constante, pero no igual a 1, una alternativa a crear un vector para X es especificar el valor de separación escalar. En ese caso, trapz(pi/100,Y) es igual que pi/100*trapz(Y).

Integre las filas de una matriz en la que los datos tengan una separación no uniforme.

Cree un vector de coordenadas x y una matriz de observaciones que tienen lugar en intervalos irregulares. Las filas de Y representan los datos de velocidad, tomados en tiempos incluidos en X, para tres pruebas diferentes.

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];

Utilice trapz para integrar cada fila de forma independiente y hallar la distancia total recorrida en cada prueba. Dado que los datos no se evalúan en intervalos constantes, especifique X para indicar la separación entre puntos de datos. Especifique dim = 2, ya que los datos se encuentran en las filas de Y.

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

   82.8000
   85.7250
   82.1250

El resultado es un vector columna de valores de integración, uno para cada fila en Y.

Cree una cuadrícula de valores dominio.

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

Calcule la función f(x,y)=x2+y2 en la cuadrícula.

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

trapz integra datos numéricos en lugar de expresiones funcionales, así que, en general, no es necesario conocer la expresión para usar trapz en una matriz de datos. En los casos en los que se conoce la expresión funcional, se puede utilizar integral, integral2 o integral3 en su lugar.

Utilice trapz para aproximar la integral doble

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

Para realizar integraciones dobles o triples en un arreglo de datos numéricos, la función anidada llama a trapz.

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

trapz realiza la integración en x en primer lugar, lo que produce un vector columna. Luego, la integración en y reduce el vector columna a un único escalar. trapz sobreestima ligeramente la respuesta exacta de 680 porque f(x,y) es cóncava hacia arriba.

Argumentos de entrada

contraer todo

Datos numéricos, especificados como vector, matriz o arreglo multidimensional. De forma predeterminada, trapz integra en la primera dimensión de Y cuyo tamaño no es igual a 1.

Tipos de datos: single | double
Soporte de números complejos:

Separación de puntos, especificada como 1 (predeterminado), una separación escalar uniforme o un vector de coordenadas.

  • Si X es un escalar, especifica una separación uniforme entre los puntos de datos y trapz(X,Y) equivale a X*trapz(Y).

  • Si X es un vector, especifica las coordenadas de x para los puntos de datos y length(X) debe ser igual al tamaño de la dimensión de integración en Y.

Tipos de datos: single | double

Dimensión en la que operar, especificada como escalar entero positivo. Si no especifica la dimensión, el valor predeterminado es la primera dimensión del arreglo de tamaño mayor que 1.

Considere un arreglo de entrada bidimensional, Y:

  • trapz(Y,1) opera en elementos sucesivos de las columnas de Y y devuelve un vector fila.

    trapz(Y,1) column-wise computation

  • trapz(Y,2) opera en elementos sucesivos de las filas de Y y devuelve un vector columna.

    trapz(Y,2) row-wise computation

Si dim es mayor que ndims(Y), trapz devuelve un arreglo de ceros del mismo tamaño que Y.

Más acerca de

contraer todo

Método trapezoidal

trapz realiza una integración numérica mediante el método trapezoidal. Este método aproxima la integración en un intervalo dividiendo el área en trapezoides con áreas más sencillas de calcular. Por ejemplo, esta es una integración trapezoidal de la función seno con ocho trapezoides equidistantes:

The plot of one period of the sin(x) function with eight trapezoids underneath the curve to estimate its area

Para una integración con N+1 puntos equidistantes, la aproximación es

abf(x)dxba2Nn=1N(f(xn)+f(xn+1))=ba2N[f(x1)+2f(x2)+...+2f(xN)+f(xN+1)],

donde la separación entre cada punto es igual al valor escalar baN. De forma predeterminada, MATLAB® utiliza una separación de 1.

Si la separación entre los puntos N+1 no es constante, la fórmula se generaliza a

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

donde a=x1<x2<...<xN<xN+1=b y (xn+1xn) es la separación entre cada par de puntos consecutivo.

Sugerencias

  • Utilice trapz y cumtrapz para realizar integraciones numéricas en conjuntos de datos discretos. Utilice integral, integral2 o integral3 si hay disponible una expresión funcional para los datos.

  • trapz reduce el tamaño de la dimensión en la que opera a 1 y devuelve solo el valor de integración final. cumtrapz también devuelve valores de integración intermedios, preservando el tamaño de la dimensión en la que opera.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a