Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

trapz

Integración numérica trapezoidal

Descripción

ejemplo

Q = trapz(Y) calcula la integral aproximada de Y mediante el método trapezoidal Método trapezoidal con espaciado de unidades. El tamaño de Y determina la dimensión que se integrará a lo largo de:

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

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

  • Si Y es una matriz multidimensional, trapz(Y) se integra en 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 otras dimensiones permanecen inalterados.

ejemplo

Q = trapz(X,Y) integra Y con respecto a las coordenadas o el espaciado escalar especificado 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 sea igual a 1.

  • Si X es un espaciado escalar, trapz(X,Y) equivale a X*trapz(Y).

ejemplo

Q = trapz(___,dim) se integra a lo largo de la dimensión dim utilizando cualquiera de las sintaxis anteriores. Debe especificar Yy, opcionalmente, puede especificar X. Si especifica X, puede ser un escalar o un vector con 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 donde el espaciado entre los puntos de datos es 1.

Crear un vector numérico de datos.

Y = [1 4 9 16 25];

Y contiene valores de función para en el dominio [1, 5].

Utilice trapz para integrar los datos con el espaciado de unidades.

Q = trapz(Y)
Q = 42

Esta integración aproximada produce un valor de 42. En este caso, la respuesta exacta es un poco menos, . La función trapz sobrestima el valor de la integral porque f (x) es cóncavo.

Calcule la integral de un vector donde el espaciado entre los puntos de datos es uniforme, pero no igual a 1.

Crear un vector de 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 el espaciado entre puntos es constante, pero no igual a 1, una alternativa a la creación de un vector para X es especificar el valor de espaciado escalar. En ese caso, trapz(pi/100,Y) es igual que pi/100*trapz(Y).

Integre las filas de una matriz donde los datos tengan un espaciado no uniforme.

Crear un vector de x-coordenadas y una matriz de observaciones que tienen lugar a intervalos irregulares. Las filas de Y representan datos de velocidad, tomadas en los momentos contenidos en X, para tres ensayos 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 encontrar la distancia total recorrida en cada ensayo. Dado que los datos no se evalúan a intervalos constantes, especifique X para indicar el espaciado entre los 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 de columna de valores de integración, uno para cada fila de Y.

Crear una cuadrícula de valores de dominio.

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

Calcule la función en la cuadrícula.

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

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

Utilice trapz para aproximar el doble integral

Para realizar integraciones dobles o triples en una matriz de datos numéricos, la función Nest llama a trapz.

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

trapz realiza primero la integración sobre x , produciendo un vector de columna. A continuación, la integración sobre y reduce el vector de columna a un solo escalar. trapz sobrestima ligeramente la respuesta exacta de 680 porque f (x, y) es cóncavo.

Argumentos de entrada

contraer todo

Datos numéricos, especificados como vectores, matrices o matrices multidimensionales. De forma predeterminada, trapz se integra a lo largo de la primera dimensión de Y cuyo tamaño no es igual a 1.

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

Espaciado de puntos, especificado como 1 (valor predeterminado), un espaciado escalar uniforme o un vector de coordenadas.

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

  • Si X es un vector, a continuación, se especifica x-coordenadas para los puntos de datos y length(X) deben ser los mismos que el tamaño de la dimensión de integración en Y .

Tipos de datos: single | double

Dimensión para operar a lo largo, especificada como un escalar entero positivo. Si no se especifica ningún valor, la opción predeterminada es la primera dimensión de matriz cuyo tamaño no es igual a 1.

Considere una matriz de entrada de dos dimensiones, Y:

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

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

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

Más acerca de

contraer todo

Método trapezoidal

trapz realiza la integración numérica mediante el método trapezoidal. Este método aproxima la integración sobre un intervalo rompiendo el área abajo en trapezoides con áreas más fácilmente comparables. Por ejemplo, aquí hay una integración trapezoidal de la función sinusoidal utilizando ocho trapezoides espaciados uniformemente:

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

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

donde el espaciado entre cada punto es igual al valor escalar baN. De forma predeterminada, MATLAB® utiliza un espaciado de 1.

Si el espaciado 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=by (xn+1xn) es el espaciado entre cada par de puntos consecutivos.

Sugerencias

  • Utilice trapz y cumtrapz para realizar integraciones numéricas en conjuntos de datos discretos. Utilice integral, integral2o integral3 en su lugar si se dispone de una expresión funcional para los datos.

  • trapz reduce el tamaño de la cota que opera en 1 y devuelve sólo el valor de integración final. cumtrapz también devuelve los valores de integración intermedia, conservando el tamaño de la cota en la que opera.

Capacidades ampliadas

Introducido antes de R2006a