English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Integración de MATLAB

El procesamiento de integración aborda dos problemas esencialmente diferentes.

  • En el primer tipo, se proporciona el derivado de la función, queremos encontrar la función. Por lo tanto,从根本上扭转了分化的过程。这种反向过程称为反微分,或者找到原始函数,或者找到indefinite integral.

  • El segundo tipo de problema implica sumar grandes cantidades de cantidades muy pequeñas, luego tomar un límite a medida que el tamaño de las cantidades se aproxima a cero, y el número de términos tiende a infinito. La definición resultante de este procesodefinite integral.

La integral definida se utiliza para encontrar áreas, volúmenes, centro de gravedad, momento de inercia, trabajo realizado por una fuerza y muchas otras aplicaciones.

Usar MATLAB para encontrar la integral impropia

De acuerdo con la definición, si el derivado de la función f(x) es f'(x), decimos que la integral impropia de f'(x) con respecto a x es f(x). Por ejemplo, debido a x 2la derivada de (relativa a x) es2x, por lo tanto, se puede decir2la integral impropia de x es x 2.

en el símbolo-

f'(x2) = 2xPor lo tanto,

∫ 2xdx = x2.

La integral indefinida no es única, ya que para cualquier valor de c, x 2 + La derivada de c también será2x.

Esto se representa simbólicamente como-

∫ 2xdx = x2 + c.

donde, c se llama "constante arbitraria".

MATLAB proporcionaintLa orden se utiliza para calcular la integral de una expresión.

int(f);

Por ejemplo, desde nuestros ejemplos anteriores-

syms x 
int(2*)

MATLAB ejecuta las instrucciones anteriores y devuelve el siguiente resultado-

ans =
   x^2

Ejemplo1

En este ejemplo, vamos a encontrar algunas expresiones comunes y sus integrales. Crear un archivo de script y escribir el siguiente código en él-

syms x n
int(sym(x^n))
f = 'sin(n*t)'
int(sym(f))
syms a t
int(a*cos(pi*t)
int(a^x)

Cuando se ejecuta el archivo, muestra el siguiente resultado-

ans =
   piecewise([n == -1, log(x)], [n ~= -1, x^(n + 1)/(n + 1)])
f =
sin(n*t)
ans =
   -cos(n*t)/n
   ans =
   (a*sin(pi*t)/pi
   ans =
   a^x/log(a)

Ejemplo2

Crear un archivo de script y escribir el siguiente código en él-

syms x n
int(cos(x))
int(exp(x))
int(log(x))
int(x^-1)
int(x^5*cos(5*))
pretty(int(x^5*cos(5*x)))
int(x^-5)
int(sec(x)^2)
pretty(int(1 - 10*x + 9 * x^2))
int((3 + 5*x -6*x^2 - 7*x^3)/2*x^2)
pretty(int((3 + 5*x -6*x^2 - 7*x^3)/2*x^2))

Tenga en cuenta que,prettyLa función devuelve la expresión en un formato más legible.

Cuando se ejecuta el archivo, muestra el siguiente resultado-

ans =
   sin(x)
 
ans =
   exp(x)
 
ans =
   x*(log(x - 1)
 
ans =
   log(x)
 
ans =
(24*cos(5*))/3125 + (24*x*sin(5*))/625 - (12*x^2*cos(5*))/125 + (x^4*cos(5*))/5 - (4*x^3*sin(5*))/25 + (x^5*sin(5*))/5
                                    2             4 
   24 cos(5 )   24 x sin(5 )   12 x cos(5 x) cos(5 ) 
   ----------- + ------------- - -------------- + ------------ 
      3125            625             125              5 
   
        3             5 
 
   4 x sin(5 x) sin(5 ) 
   ------------- + ----------- 
         25              5
 
ans =
-1/(4*x^4)
 
ans =
tan(x)
        2 
  x (3 x  - 5 x + 1)
 
ans = 
- (7*x^6)/12 - (3*x^5)/5 + (5*x^4)/8 + x^3/2
 
      6      5      4    3 
    7 x    3 x    5 x 
  - ---- - ---- + ---- + -- 
     12     5      8     2

Usar MATLAB para encontrar la integral definida

De acuerdo con la definición, la integral definida es básicamente el límite de la suma. Usamos la integral definida para encontrar áreas, como la área entre la curva y el eje x y la área entre dos curvas. También se puede usar la integral definida en otros casos, en los que la cantidad necesaria se puede representar como el límite de la suma.

intPasando los límites de la integral a calcular, la función se puede utilizar para determinar la integral.

Calcular

Escribimos,

int(x, a, b)

Por ejemplo, para calcular un valor, escribimos:

int(x, 4, 9)

MATLAB ejecuta las instrucciones anteriores y devuelve el siguiente resultado-

ans =
   65/2

A continuación, se muestra el equivalente de Octave para el cálculo anterior-

pkg load symbolic
symbols
x = sym("x");
f = x;
c = [1, 0];
integral = polyint(c);
a = polyval(integral, 9) - polyval(integral, 4);
display('Área: '), disp(double(a));

Octave ejecuta el código y devuelve el siguiente resultado-

Área: 
   32.500

Se puede proporcionar una solución alternativa utilizando la función quad()de Octave, como se muestra a continuación:

pkg load symbolic
symbols
f = inline("x");
[a, ierror, nfneval] = quad(f, 4, 9);
display('Área: '), disp(double(a));

Octave ejecuta el código y devuelve el siguiente resultado-

Área: 
   32.500

Ejemplo1

Vamos a calcular en el eje x y la curva y = x 3 -2x + 5y = x 1y = x 2El área rodeada.

El área necesaria se da por la siguiente fórmula:}

Cree un archivo de script e ingrese el siguiente código-

f = x^3 - 2*x +5;
a = int(f, 1, 2)
display('Área: '), disp(double(a));

Cuando se ejecuta el archivo, muestra el siguiente resultado-

a =
23/4
Área: 
   5.7500

A continuación, se muestra el equivalente de Octave para el cálculo anterior-

pkg load symbolic
symbols
x = sym("x");
f = x^3 - 2*x +5;
c = [1, 0, -2, 5];
integral = polyint(c);
a = polyval(integral, 2) - polyval(integral, 1);
display('Área: '), disp(double(a));

Octave ejecuta el código y devuelve el siguiente resultado-

Área: 
   5.7500

Se puede proporcionar una solución alternativa utilizando la función quad()de Octave, como se muestra a continuación:

pkg load symbolic
symbols
x = sym("x");
f = inline("x^3 - 2*x +5");
[a, ierror, nfneval] = quad(f, 1, 2);
display('Área: '), disp(double(a));

Octave ejecuta el código y devuelve el siguiente resultado-

Área: 
   5.7500

Ejemplo2

Encontrar el área bajo la curva: f(x)= x 2 cos(x)representa−4≤x≤9.

Cree un archivo de script y escriba el siguiente código-

f = x^2*cos(x);
ezplot(f, [-4,9])
a = int(f, -4, 9)
disp('Área: '), disp(double(a));

Cuando se ejecuta el archivo, MATLAB dibuja el gráfico-

Se muestra lo siguiente como salida-

a = 
8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9)
 
Área: 
   0.3326

A continuación, se muestra el equivalente de Octave para el cálculo anterior-

pkg load symbolic
symbols
x = sym("x");
f = inline("x^2*cos(x)");
ezplot(f, [-4,9])
print -deps graph.eps
[a, ierror, nfneval] = quad(f, -4, 9);
display('Área: '), disp(double(a));