Beruflich Dokumente
Kultur Dokumente
1. Introducción.
En esta práctica trabajaremos con conceptos relacionados con la integración de funciones de
variable real, más concretamente:
Integrales indefinidas.
Integrales definidas.
Integración numérica.
int (f,s,a,x), donde a es unZvalor numérico y x es una variable simbólica, intenta obtener
x
la función integral F (x) = f (s) s..
a
Z x
int (f,s,y,x), donde x e y son variables simbólicas, intenta obtener F (x, y) = f (s) s..
y
Donde,
f representa una expresión simbólica (escalar o matricial) de la/s variable/s simbólicas
definidas.
1
Z
Ejemplo 1 Calculemos la integral indefinida x. En Matlab:
1 + x2 .
1
>> syms x
>> f=1/(1+xˆ2)
f =
1/(xˆ2 + 1)
>> F=int(f)
F =
atan(x)
>> F=int(1/(1+xˆ2))
F =
atan(x)
>> ezplot(f)
>> hold on
>> ezplot(F)
Z x
1
Ejemplo 2 Calculemos ahora la función integral s:
0 1 + s2 .
2
>> clear all
>> syms s
>> syms x
>> F=int(1/(1+sˆ2),0,x)
F =
atan(x)
Z 1
1
Ejemplo 3 Calculemos la integral definida A = x empleando Matlab:
−1 1 + x2 .
ans =
pi/2
ans =
pi/2
>> subs(F,1)-subs(F,-1)
ans =
1.5708
3
Z p
Ejemplo 5 Tratemos de calcular 1 + x4 x.:
ans =
int((xˆ4 + 1)ˆ(1/2), x)
F =
sinint(x)
La solución es la función sinint que MATLAB tiene asociada a la función integral F (x) =
Z x
sen(s)
s .s. Podemos comprobar que efectivamente la función sinint es una primitiva:
0
>> diff(F)
ans =
sin(x)/x
>> ezplot(F)
4
2.3. Cálculo de áreas entre dos curvas
Veamos como calcular el área comprendida entre dos curvas con Matlab a través de una serie
de ejemplos.
Observamos que la función toma valores negativos en el intervalo pedido, por lo que para
calcular el área, debemos integrar el valor absoluto de la función:
>> int(abs(f),0,2)
ans =
Ejemplo 8 Calculemos ahora el área entre la curva y = √1x , el eje x y las rectas x = 1 y x = 4.
Empecemos graficando la función entre los puntos x = 1 y x = 4:
5
Observamos que la función toma valores positivos en el intervalo [1, 4] por lo que, para cal-
cular el valor de la integral:
>> int(f,1,4)
ans =
Ejemplo 9 Calculemos el área encerrada por las curvas f (x) = x2 − x y g(x) = x3 en el inter-
valo [0, 1]. Comencemos representando gráficamente las dos curvas:
6
>> int(g-f,0,1)
ans =
5/12
3. Integración numérica
3.1. La orden rsums
La orden rsums(f,a,b) aproxima la integral definida de la función f en el intervalo [a, b]
(toma el intervalo [0, 1] si no se especifican los extremos) mediante la regla del punto medio. Por
ejemplo:
>> syms x
>> rsums(xˆ2)
Moviendo con el ratón el botón que aparece bajo la gráfica podemos modificar el número de
elementos de la partición (por defecto toma una partición con 10 elementos), observamos como
en la parte superior de la gráfica varı́a la aproximación según la partición elegida.
>> rsums(log(x+1))
>> rsums(cos(x),0,pi)
7
La forma general de esta orden es trapz(x,y) y calcula una aproximación de la integral de
y = f (x) con respecto a x; es decir,
Z b
∆x
f (x) x. ' [y0 + 2y1 + . . . + 2yn−1 + yn ]
a 2
Debemos tener en cuenta que los dos argumentos de entrada de la orden trapz son vectores
de la misma longitud.
Z 4
Ejemplo 11 Para calcular (x2 + 3) x., escribimos:
0
>> x=[0:0.25:4];
>> y=x.ˆ2+3;
>> trapz(x,y)
ans =
33.3750
siendo n par.
I = quad(0 f uncion0 , a, b)
donde la función f (x) se encuentra definida en un fichero “funcion.m” creado por el usuario o
ya definido por MATLAB, este es el caso de la funciones “sin”, “cos”, “exp”,... En todo caso, f
debe admitir vectores como argumentos de entrada.
8
Por defecto, este comando proporciona una aproximación con un error 1.0e-3. Esta precisión
puede ser mejorada introduciendo como nuevo argumento un parámetro de tolerancia tol, de la
siguiente forma:
Además tiene un segundo argumento de salida m que informa del número de puntos de la par-
tición utilizada.
Para utilizar este comando es necesario conocer la expresión de la función, a diferencia del
comando trapz.
2
Ejemplo 12 Aproximemos la integral de f (x) = e−x en el intervalo [0, 1], para lo cual será
necesario crear un fichero fichero f1.m que contenga la expresión de dicha función. El conte-
nido del fichero es el siguiente:
function y=f1(x)
y=exp(-x.ˆ2)
Aquı́, “f1” es el nombre de la función (y del fichero). Éste es el nombre que se debe de faci-
litar al comando quad. El argumento de entrada x, es el vector de la variable independiente.
El argumento de salida y será un vector que contenga las evaluaciones de f1=exp(-x.ˆ2) en
cada componente de x (recuerda que el punto “.” es necesario en las operaciones con vectores
componente a componente). Para obtener el valor de la integral:
>> quad(’f1’,0,1)
ans =
0.7468
>>f1=@(x) exp(-x.ˆ2);quad(f1,0,1)
ans =
0.7468
4. Integrales dobles
4.1. Integración exacta
El comando int permite calcular integrales dobles mediante integración iterada.
9
Ejemplo: Integral sobre una región rectangular
Ejercicio 1:
Intenta usar Matlab para calcular esta integral. ¿Qué es lo que ocurre?
Haz el cambio a coordenadas polares y usa Matlab para calcular el valor de la integral
resultante.
10
4.2. Integración numérica
La función dblquad permite aproximar mediante la regla de Simpson la integral de una
función de dos variables reales sobre una región rectangular. Introduciremos la función de interés
como una “función anónima”. Una función anónima de dos variables serı́a:
donde hemos usado el operador .∧ por si x e y son vectores. Ahora, la forma de usar dblquad es
>> y = dblquad(f,a,b,c,d,tol)
donde
Ejemplo:
>> syms x y
>> I = int(int(xˆ2*y+2*yˆ2,x,1,3),y,-1,1)
Ejercicio 2:
Calcula con dblquad una aproximación del valor exacto usando distintas tolerancias. Com-
para los resultados obtenidos con el valor exacto.
11
Soluciones de los ejercicios anteriores
>> syms x y
>> I2 = double(int(int(exp(xˆ2+yˆ2),y,-sqrt(9-xˆ2),sqrt(9-xˆ2)),x,-3,3))
Haz el cambio a coordenadas polares y usa Matlab para calcular el valor de la integral
resultante.
Haciendo el cambio a coordenadas polares obtenemos
Z 2π Z 3
2
er r dr dθ.
0 0
>> syms r t
>> I = double(int(int(exp(rˆ2)*r,r,0,3),t,0,2*pi))
Calcula con dblquad una aproximación del valor exacto usando distintas tolerancias. Com-
para los resultados obtenidos con el valor exacto.
12
5. Integrales triples
5.1. Integración exacta
El comando int permite calcular tanto integrales dobles como triples mediante integración
iterada.
Ejercicio 1:
Calcula la integral Z Z Z q
x2 + y 2 V
.,
B
siendo B el sólido limitado por los paraboloides z = x2 + y 2 y z = 2 − x2 − y 2 .
Representa la región de integración con el comando ezsurf e intenta usar Matlab para
calcular la integral original en cartesianas. ¿Qué es lo que ocurre?
Haz el cambio a coordenadas cilı́ndricas y usa Matlab para calcular el valor de dicha
integral.
13
5.2. Integración numérica
La función triplequad permite aproximar mediante la regla de Simpson la integral de una
función de tres variables reales sobre un paralelepı́pedo. Al igual que el comando dblquad admite
como argumento una función anónima.
Ejemplo:
>> syms x y z
>> I = int(int(int(xˆ2*y+2*yˆ2+3*zˆ3,z,0,2),y,-1,1),x,1,3)
Ejercicio 2:
14
Soluciones de los ejercicios 1 y 2
Calcula la integral Z Z Z q
x2 + y 2 V
.,
B
siendo B el sólido limitado por los paraboloides z = x2 + y 2 y z = 2 − x2 − y 2 .
Representa la región de integración con el comando ezsurf e intenta usar Matlab para
calcular la integral original, en cartesianas. ¿Qué es lo que ocurre?
>> syms x y z
>> ezsurf(xˆ2+yˆ2)
>> hold on
>> ezsurf(2-xˆ2+yˆ2)
>> I2 = int(int(int(sqrt(xˆ2+yˆ2),z,xˆ2+yˆ2,2-xˆ2-yˆ2),y,-sqrt(1-xˆ2),sqrt(1-xˆ2)),
x,-1,1)
>> syms r t
>> I = int(int(int(rˆ2,z,rˆ2,2-rˆ2),r,0,1),t,0,2*pi)
>> syms x y z
>> I = int(int(int(sin(x*y)*cos(sqrt(xˆ2+yˆ2+z)),z,0,1),y,0,1),x,0,1)
>> I=triplequad(f,0,1,0,1,0,1)
15