Está en la página 1de 4

Integral de Riemann. Regla de Barrow.

Integracin numrica.
Prctica de Clculo, E.U.A.T, Grupos 1A y 1B, 2005
En esta prctica veremos algunas formas de calcular primitivas y aproximar integrales definidas con un ordenador, as como
algunas funciones especiales que tiene Mathematica para realizar este tipo de tareas.
Dos comandos nuevos: Integrate y NIntegrate
Integrate
Si f es una funcin, la orden Integrate[f[x],x] da como resultado una primitiva de la funcin f (que se llama tambin a veces
integral indefinida). Integrate requiere dos argumentos: la funcin que queremos integrar y la variable de la que depende.
In[1]:= Integrate[x^2, x]
Out[1]=
x
3

3
In[2]:= Integrate[1/(x^2 1), x]
Out[2]= ArcTan[x]
Si queris, en lugar de escribir Integrate se puede usar el smbolo de integral que aparece en la paleta de Mathematica (si
no la vis, est en File/Palettes/BasicInput). El resultado es el mismo:
In[3]:=
_
x^2 x
Out[3]=
x
3

3
Integrate realiza clculos simblicos; es decir, el resultado es exacto (no se trata de aproximaciones numricas. Por ejem-
plo, podemos obtener Pi en el resultado en lugar de 3.14159...). Como sabis, no siempre se puede calcular una primitiva de
una funcin que se exprese usando slo funciones elementales. En esos casos, Mathematica no sabr dar una respuesta o la
dar usando funciones menos corrientes:
In[4]:=
_
Sin[x]

x
x
Out[4]= SinIntegral[x]
In[5]:= Integrate]
_---------------- -------------------
1 (Cos[x])^2 , x
Out[5]=
_
2 EllipticEx,
1

2

1Integral_de_Riemann.nb 1
Cuando la integral que buscamos tiene cierta complicacin (por ejemplo, incluye senos, cosenos y races), lo ms comn es
que Mathematica no pueda dar una expresin de la primitiva (en la mayora de los casos porque la integral no puede
calcularse en trminos de funciones conocidas):
In[6]:= Integrate[Sin[x]/(Sqrt[Cos[x]^2 3 x]), x]
Out[6]=
_
Sin[x]

_
3 x Cos[x]
2
x
Integrate puede calcular tambin integrales definidas. Para eso es necesario especificar los lmites de integracin entre
llaves, adems de la variable en la que se integra:
In[7]:= Integrate[Sin[x], {x, 1, 2}]
Out[7]= Cos[1] Cos[2]
Si la funcin que escribimos no es integrable, Integrate puede descubrir el error:
In[8]:= Integrate[1/x, {x, 0, 1}]
Integrate::idiv : Integral of
1

x
does not converge on {0, 1].
Out[8]=

0
1
1

x
x
Por supuesto, una vez que obtenemos un resultado exacto podemos calcular aproximaciones numricas usando la orden N:
In[9]:= integral1 Integrate[1 Sqrt[a], {a, 10, 20}]
Out[9]=
1

3
60 80
_
5
1

3
30 20
_
10
In[10]:= N[integral1]
Out[10]= 48.5466
NIntegrate
Como dijimos antes, a veces no es posible calcular explcitamente una primitiva de una funcin. Adems, si lo que nos
interesa es el valor numrico de cierta integral definida, normalmente es mucho ms rpido usar la orden NIntegrate que
calcular la integral con Integrate. La orden NIntegrate se usa igual que Integrate, con la diferencia de que slo calcula
integrales definidas y da como resultado su valor numrico:
In[11]:= NIntegrate[1 Sqrt[a], {a, 10, 20}]
Out[11]= 48.5466
Podis observar la diferencia de tiempo entre calcular una integral complicada de forma simblica y calcular una aproxi-
macin directamente: si hacemos la siguiente integral numricamente con NIntegrate el resultado es rpido:
In[12]:= integraldificil
NIntegrate[(Cos[x] Log[x] x^5)/(Sqrt[Cos[x]^2 3 Exp[x]]), {x, 3, 4}]
Out[12]= 88.2959
1Integral_de_Riemann.nb 2
Si intentamos calcularla simblicamente, Mathematica pierde mucho tiempo slo para comprobar que no puede hacer la
integral:
In[13]:= integraldificil2
Integrate[(Cos[x] Log[x] x^5)/(Sqrt[Cos[x]^2 3 Exp[x]]), {x, 3, 4}]
Out[13]=
_
3
4
x
5
Cos[x] Log[x]

_
3
x
Cos[x]
2
x
In[14]:= N[integraldificil2]
Out[14]= 88.2959
Mtodos numricos de integracin
Los mtodos numricos de integracin son formas de calcular el valor numrico de una integral definida. Desde luego,
Mathematica (y muchos otros programas) pueden calcularlo directamente porque internamente usan uno de estos mtodos
numricos de integracin. Entender cmo funcionan estos mtodos ayuda a entender el significado de la integral; de hecho,
la definicin de la integral de Riemann contiene implcitamente una forma de calcularla, como veremos a continuacin.
Definamos una funcin f (incluimos N para que sea una funcin numrica):
In[15]:= f[x_] : N[Sin[x] 1]
Para aproximar su integral de Riemann en el intervalo [a, b] podemos partir el intervalo en trozos pequeos y aproximar la
funcin f en cada intervalo por su valor en cualquiera de los puntos de ese intervalo (observad que eso es lo que se hace al
definir las sumas inferiores y superiores, en las que se aproxima la funcin por sus valores mnimo o mximo en cada
intervalo). Si partimos el intervalo [a, b] en n trocitos usando la particin {a=x
0
< x
1
< x
2
< ... < x
n
= b}, entonces en cada
intervalo [x
i
, x
i1
] aproximamos la funcin f, por ejemplo, por f(x
i
). El rea del rectngulo en este intervalo es entonces
x
i1
x
i
f x
i
(base por altura). Para aproximar la integral, sumamos todas estas reas (contando como negativas las que
quedan por debajo del eje x). Hagamos esto para el intervalo [1, 3]:
In[16]:= n 50; ( Nmero de trozos )
a 1; ( Extremo izquierdo )
b 3; ( Extremo derecho )
( Definimos una lista con los puntos de la particin )
y Table[a (b a)i/n, {i, 0, n}];
aprox Sum[(y[[i 1]] y[[i]])f[y[[i]]], {i, 1, n}]
Out[20]= 3.5441
Comparemos esto con el clculo que hace Mathematica:
In[21]:= NIntegrate[f[x], {x, a, b}]
Out[21]= 3.53029
Mtodo del trapecio
En lugar de aproximar el rea bajo la funcin por rectngulos, podemos aproximarla en cada intervalo por el trapecio que
resulta de unir x
i
, f x
i
con x
i1
, f x
i1
. El rea de un trapecio es (lado largo + lado corto)/2 * ancho, as que en cada
intervalo aproximamos el rea por f x
i
f x
i1
2 x
i1
x
i
. Veamos cmo hacerlo:
1Integral_de_Riemann.nb 3
In[22]:= n 20; (Nmero de trozos)
a 1; (Extremo izquierdo)
b 3; (Extremo derecho)(Definimos una lista con los puntos de la particin)
y Table[a (b a)i/n, {i, 0, n}];
aproxtrapecios Sum[(y[[i 1]] y[[i]])(f[y[[i]]] f[y[[i 1]]])/2, {i, 1, n}]
Out[26]= 3.52902
Como podis comprobar, con este mtodo obtenemos una aproximacin mejor usando menos intervalos.
Ejercicios
1 a) Dibuja la funcin

1 x
2
en el intervalo [0,1] (es un cuarto de circunferencia). Sin calcularla, cul debe ser su
integral en ese intervalo?
b) Calcula su integral de forma exacta (simblica), y luego calcula una aproximacin numrica (con cualquier
mtodo adecuado).
c) Aproxima la integral anterior usando primero la aproximacin por rectngulos y luego la frmula del trapecio.
Qu aproximacin es mejor?
d) Observa que puedes aproximar Pi con estos mtodos numricos. Cuntos decimales correctos de Pi puedes
conseguir de esta forma?
2Aproxima la integral de f(x)=3 x cos(x+1) en el intervalo[0,2] usando sucesivamente la frmula de los trapecios movi-
endo el nmero de intervalos desde 1 hasta 50. (Sugerencia: usa, por ejemplo, el comando Do).
3Se quiere calcular de forma aproximada el rea de cierto terreno que se encuentra bordeado por un pequeo riachuelo.
Para ello se han medido distancias al borde del mismo tomadas a partir de la valla que delimita dicho terreno y que s est
en linea recta. Las medidas en metros que se han obtenido, tomadas de diez en diez metros, son:
0; 6; 10; 8; 5; 9; 12; 5; 0.
Puedes dar una estimacin del rea del terreno?
1Integral_de_Riemann.nb 4

También podría gustarte