Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> MATLAB

MATLAB - Integración

La integración se ocupa de dos tipos de problemas esencialmente diferentes.

Las integrales definidas se utilizan para encontrar el área, el volumen, el centro de gravedad, el momento de inercia, el trabajo realizado por una fuerza y ​​en muchas otras aplicaciones.

Encontrar la integral indefinida usando MATLAB

Por definición, si la derivada de una función f(x) es f'(x), entonces decimos que una integral indefinida de f'(x) con respecto ax es f(x). Por ejemplo, dado que la derivada (con respecto a x) de x 2 es 2x, podemos decir que una integral indefinida de 2x es x 2 .

En símbolos −

f'(x 2 ) =2x , por lo tanto,

∫ 2xdx =x 2 .

La integral indefinida no es única, porque la derivada de x 2 + c, para cualquier valor de una constante c, también será 2x.

Esto se expresa en símbolos como −

∫ 2xdx =x 2 + c .

Donde, c se llama una 'constante arbitraria'.

MATLAB proporciona un int Comando para calcular la integral de una expresión. Para derivar una expresión para la integral indefinida de una función, escribimos −

int(f);

Por ejemplo, de nuestro ejemplo anterior −

syms x 
int(2*x)

MATLAB ejecuta la instrucción anterior y devuelve el siguiente resultado −

ans =
   x^2

Ejemplo 1

En este ejemplo, encontremos la integral de algunas expresiones de uso común. Cree un archivo de script y escriba 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 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)

Ejemplo 2

Cree un archivo de script y escriba 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*x))
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 el bonito función devuelve una expresión en un formato más legible.

Cuando 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*x))/3125 + (24*x*sin(5*x))/625 - (12*x^2*cos(5*x))/125 + (x^4*cos(5*x))/5 - (4*x^3*sin(5*x))/25 + (x^5*sin(5*x))/5
                                    2             4 
   24 cos(5 x)   24 x sin(5 x)   12 x  cos(5 x)   x  cos(5 x) 
   ----------- + ------------- - -------------- + ------------ 
      3125            625             125              5 
   
        3             5 
 
   4 x  sin(5 x)   x  sin(5 x) 
   ------------- + ----------- 
         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    x 
  - ---- - ---- + ---- + -- 
     12     5      8     2

Encontrar la integral definida usando MATLAB

Por definición, la integral definida es básicamente el límite de una suma. Usamos integrales definidas para encontrar áreas como el área entre una curva y el eje x y el área entre dos curvas. Las integrales definidas también se pueden usar en otras situaciones, donde la cantidad requerida se puede expresar como el límite de una suma.

El int La función se puede utilizar para la integración definitiva pasando los límites sobre los que desea calcular la integral.

Para calcular

escribimos,

int(x, a, b)

Por ejemplo, para calcular el valor de escribimos −

int(x, 4, 9)

MATLAB ejecuta la instrucción anterior y devuelve el siguiente resultado −

ans =
   65/2

A continuación se muestra el equivalente en octavas del 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('Area: '), disp(double(a));

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

Area: 

   32.500

Se puede dar una solución alternativa usando la función quad() proporcionada por Octave de la siguiente manera −

pkg load symbolic
symbols

f = inline("x");
[a, ierror, nfneval] = quad(f, 4, 9);

display('Area: '), disp(double(a));

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

Area: 
   32.500

Ejemplo 1

Calculemos el área encerrada entre el eje x y la curva y =x 3 −2x+5 y las ordenadas x =1 y x =2.

El área requerida está dada por −

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

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

Cuando ejecuta el archivo, muestra el siguiente resultado −

a =
23/4
Area: 
   5.7500

A continuación se muestra el equivalente en octavas del 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('Area: '), disp(double(a));

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

Area: 

   5.7500

Se puede dar una solución alternativa usando la función quad() proporcionada por Octave de la siguiente manera −

pkg load symbolic
symbols

x = sym("x");
f = inline("x^3 - 2*x +5");

[a, ierror, nfneval] = quad(f, 1, 2);
display('Area: '), disp(double(a));

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

Area: 
   5.7500

Ejemplo 2

Encuentra el área bajo la curva:f(x) =x 2 cos(x) para −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('Area: '), disp(double(a));

Cuando ejecuta el archivo, MATLAB traza el gráfico −

La salida se da a continuación −

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

A continuación se muestra el equivalente en octavas del 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('Area: '), disp(double(a));

MATLAB

  1. MATLAB - Descripción general
  2. MATLAB - Sintaxis básica
  3. MATLAB-Variables
  4. MATLAB - Comandos
  5. MATLAB - Tipos de datos
  6. MATLAB - Operadores
  7. MATLAB - Vectores
  8. MATLAB - Matriz
  9. MATLAB - Matrices
  10. MATLAB - Notación de dos puntos
  11. MATLAB-Números