MATLAB: integración numérica trapezoidal sin usar trapz

La regla trapezoidal se utiliza para descubrir la aproximación de una integral definida. La idea principal en la regla trapezoidal es aceptar que la región bajo el gráfico de la función dada sea un trapezoide en lugar de una forma de rectángulo y calcular su región.

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

Ahora tomamos un ejemplo para calcular el área bajo la curva  ∫_0^11/(1+x^2) dx     usando 10 subintervalos.

Ejemplo:

Matlab

% MATLAB program for calculate the 
% area under the curve ∫_0^11/(1+x^2) dx 
% using 10 subintervals specify the variable
% x as symbolic ones The syms function creates 
% a variable dynamically and automatically assigns
% to a MATLAB variable with the same name
syms x
  
% Lower Limit
a=0;  
  
% Upper Limit
b=1;   
  
% Number of segments
n=10; 
  
% Declare the function
f1=1/(1+x^2);
  
% inline creates a function of
% string containing in f1
f=inline(f1); 
  
% h is the segment size
h=(b - a)/n;
  
% X stores the summation of first
% and last segment
X=f(a)+f(b);
  
% variable R stores the summation of
% all the terms from 1 to n-1
R=0;
for i = 1:1:n-1
    xi=a+(i*h);
    R=R+f(xi);
end
  
% Formula to calculate numerical integration
% using Trapezoidal Rule
I=(h/2)*(X+2*R);
  
% Display the output
disp('Area under the curve 1/(1+x^2) = ');
disp(I);

Producción:

Tomemos otro ejemplo para calcular el área bajo la curva  ∫_0^1x^2 dx      usando 4 subintervalos.

Ejemplo:

Matlab

% MATLAB program for calculate
% the area under the curve∫_0^1x^2 dx    
% using 4 subintervals.
% specify the variable x as symbolic ones
  
syms x
  
% Lower Limit
a=0; 
  
% Upper Limit
b=1; 
  
% Number of segments
n=4;  
  
% Declare the function
f1=x^2;
  
% inline creates a function of
% string containing in f1
f=inline(f1); 
  
% h is the segment size
h=(b - a)/n;
X=f(a)+f(b);
  
% variable R stores the summation 
% of all the terms from 1 to n-1
R=0;
for i = 1:1:n-1
    xi=a+(i*h);
    R=R+f(xi);
end
  
% Formula to calculate numerical
% integration using Trapezoidal Rule
I=(h/2)*(X+2*R);
  
% Display the output
disp('Area under the curve x^2 = ');
disp(I);

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 *