Integración numérica trapezoidal en MATLAB

La función Trapz en MATLAB se usa para encontrar la integración numérica usando la regla trapezoidal. La idea básica en la regla trapezoidal es asumir que la región debajo del gráfico de la función dada es un trapezoide en lugar del rectángulo y calcular su área. 

La fórmula para la integración numérica usando la regla trapezoidal es:

∫_a^bf(x)dx=h/2[ f(a)+2\{ ∑^{n-1}_{i=1}f(a+ih)\}  +f(b)]

donde h = (ba)/n

MATLAB nos permite realizar la integración numérica simplemente usando la función trapz en lugar de pasar por el largo procedimiento de la fórmula anterior.

En MATLAB, la función trapz toma los argumentos de entrada de 3 maneras diferentes.

  1. trampa(Y)
  2. trampa(X,Y)
  3. trampa (_____, tenue)

trampa(Y)

En este método, la función trapz considera el espacio entre unidades por defecto. Aquí Y son datos numéricos que pueden ser un vector, una array o una array multidimensional.

  • Si Y es un vector, la función trapz calcula la integral aproximada de Y.
  • Si Y es una array, la función trapz se integra en cada columna de la array y devuelve un vector de fila de valores de integración como salida.
  • Si Y es una array multidimensional, la función trapz se integra sobre la primera dimensión cuyo tamaño no es igual a 1.

Tomemos un ejemplo para calcular la integral de un vector Y que contiene valores de función  f(x) = 2^x       en el dominio [1,5]

Ejemplo:

Matlab

% MATLAB code for calculate Y is a vector
% of numeric data containing function values 
% for f(x) = 2^x in domain [1,5]
Y = [2 4 8 16 32];
  
% Integrate the data using 'trapz(Y)'
% with unit spacing (by default)
Q = trapz(Y);
  
% display the result
disp('The approximate Integration using trapz(Y) = ');
disp(Q);

Producción:

trampa(X,Y)

 En este método, X especifica el espaciado escalar o las coordenadas y la función trapz integra Y con respecto a X .

  • Si X es un vector de coordenadas, entonces la longitud de 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 un espaciado escalar, entonces el valor de trapz(X,Y) es equivalente a X*trapz(Y) .

El siguiente ejemplo demuestra trapz(X,Y) y calcula el valor integral del vector Y que tiene un valor de espaciado entre puntos de pi/100.

Ejemplo:

Matlab

% MATLAB code for calculate the
% integral value of vector Y having
% a point spacing value of pi/100. Where 
% X ranges from 0 to pi/2 with uniform 
% spacing of pi/100
X = 0:pi/100:pi/2;
  
% Y is a vector having point spacing 
% value of pi/100
Y = cos(X);
  
% Integrate the data using 'trapz(X,Y)'
Q = trapz(X,Y);
disp('The approximate Integration using trapz(X,Y) = ');
disp(Q);

trampa (______, tenue)

Aquí, dim es la dimensión para operar y en este método, X es un argumento opcional. 

  • Si dim se especifica como 1 , trapz(Y,1) se integra en cada columna y devuelve un vector de fila de valores de integración.
  • Si dim se especifica como 2 , trapz(Y,2) se integra en cada fila y devuelve un vector de columna de valores de integración.

El siguiente ejemplo integra las filas de la array Y con espaciado de puntos no uniforme con dim como 2 mediante el uso de la función trapz(_____, dim).

Ejemplo:

Matlab

% MATLAB code for Integrate the rows of
% matrix Y with non-uniform point spacing
% with dim as 2. Here X contains non-uniform intervals
X = [1 2.5 5.5 10];
  
% Y is a matrix  with non-uniform point spacing 
% with value of dim = 2 as data is in the rows of Y 
Y = [13.5   23.7   17.2   13.2;
     22.5   16.0  20.5   24.5;
     15.6   27.7  10.2   12.9];
  
% Integrate the data using 'trapz(X,Y,dim)' 
Q = trapz(X,Y,2);
disp('The approximate Integration using trapz(X,Y,2) = ');
disp(Q);

Producción:

Publicación traducida automáticamente

Artículo escrito por jatan_18 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *