Sunteți pe pagina 1din 56

2014

M
etodos Num
ericos para el
C
alculo Cientfico con Matlab
TOMO 3

Presentado por:
Mera Carrasco, Junior Lino

Malhaber Montenegro, Miguel Angel

Asesor:
Dr. Collantes Santisteban, Luis Jaime

UNPRG

UNIVERSIDAD NACIONAL
PEDRO RUIZ GALLO

FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS

ESCUELA PROFESIONAL DE MATEMATICA

M
etodos Num
ericos para el C
alculo
Cientfico con Matlab
TOMO 3
NUMERICA
INTEGRACION

Presentado por:

Mera Carrasco Junior Lino


Malhaber Montenegro Miguel Angel

Asesor:

Dr. Collantes Santisteban Luis Jaime

LAMBAYEQUE PERU
2014

Introducci
on
La presentacion de estos tomos tiene su origen en los Seminarios denominados FUN
DAMENTOS DE ECUACIONES NO LINEALES, INTERPOLACION,
DIFEREN E INTEGRACION
NUMERICA

CIACION
PARA EL CALCULO
CIENTIFICO y

CALCULO
CIENTIFICO DE ECUACIONES NO LINEALES, INTERPOLACION,
E INTEGRACION
NUMERICA

DIFERENCIACION
CON MATLAB desarrollados
en Diciembre del 2012 como investigacion de los cursos de Seminario de Matematica
Pura y Aplicada de la carrera profesional de Matematicas de la Universidad Nacional
Pedro Ruiz Gallo con el asesoramiento del Dr. Luis Jaime Collantes Santisteban, dichos
trabajos enfocaban la parte teorica y practica de algunos temas del Calculo Cientfico.

Estos tomos no son documentos comerciales, por el contrario decidimos trabajar para
que se encuentre al alcance de todos, es bien sabido la dificultad que tienen estudiantes
y profesionales de ingeniera, ciencias medicas, ciencias economicas entre otras para idealizar sus problemas y desarrollar un modelo matematico adecuado en algunos casos es
difcil porque la aplicacion resulta excesivamente compleja o los metodos analiticos no se
adecuan muy bien a sus resultados por ello es conveniente el uso de metodos numericos
los cuales conducen a soluciones aproximadas pero mas manejables y se puede dar uso
a un ordenador provisto de un software adecuado, para nuestro caso Matlab.

Metodos Numericos para el Calculo Cientfico con Matlab esta divido en 7 tomos:

TOMO 0 Conceptos Previos


TOMO 1 Ecuaciones No Lineales
TOMO 2 Interpolacion
TOMO 3 Diferenciacion e Integracion Numerica
TOMO 4 Ecuaciones Lineales
TOMO 5 Ecuaciones Diferenciales Ordinarias
TOMO 6 Ecuaciones Diferenciales Parciales

Metodos Numericos para el Calculo Cientfico con Matlab, explicara de manera sencilla
y con ejemplos el uso y la programacion de Interfaces Graficas de Usuario (GUI) as como el clasico uso de los archivos .m y por supuesto la solucion manual.
NUMERICA

Este TOMO denominado INTEGRACION


esta dividido en tres captulos:

En el primero revisaremos la parte teorica sobre los diferentes metodos de Integracion


N
umerica, sus demostraciones y sus errores correspondientes.

En el segundo captulo solucionaremos problemas mediante el uso de nuestras Interfaces


Graficas con los distintos metodos de solucion y verificaremos cual es el mas efectivo
para distintos problemas.

Dejaremos para el final los codigo fuente utilizados en la creacion de las interfaces graficas.

Por favor, soy Rodney McKay, difcil tarda unos segundos. Imposible, un par de minutos. Dr. Rodney McKay - Stargate Atlantis

INDICE GENERAL

1. Integraci
on Num
erica

1.1. Formulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2. Formula del punto medio o del rectangulo . . . . . . . . . . . . . . . . .

1.3. Formula del Trapecio . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

1.4. Formula de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

1.5. Formula de Simpson de 3/8 . . . . . . . . . . . . . . . . . . . . . . . . .

17

1.6. Formula de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

1.7. Cuadraturas de tipo interpolatorio

20

. . . . . . . . . . . . . . . . . . . . .

2. Integracion Numerica

26

2.1. Comparacion de Metodos Iteractivos . . . . . . . . . . . . . . . . . . . .

28

2.1.1. Analizando una funcion trascendental . . . . . . . . . . . . . . . .

28

2.1.2. Analizando una funcion Polinomica . . . . . . . . . . . . . . . . .

36

3. Codigo Fuente de los GUIS

44

3.1. Metodo del Trapecio . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

3.2. Metodo de Simpson 1/3 . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

3.3. Metodo de Simpson 3/8 . . . . . . . . . . . . . . . . . . . . . . . . . . .

49

3.4. Metodo de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

Captulo 1

NUMERICA

INTEGRACION
En esta seccion introducimos metodos numericos apropiados para aproximar la integral
I(f ) =

Zb

f (x)dx

a una de la forma

I (f ) =

M
X

wk f (xk ),

k=1

donde f es una funcion arbitraria continua en [a, b] y con la siguiente distribucion de


nodos x0 < x1 < x2 < . . . < xM estan en [a, b]. A los wi se les llama pesos.

1.1.

F
ormulas de Newton-Cotes

La Formulas de Newton-cotes se emplean especialmente cuando la integral no puede


calcularse analticamente o cuando solo se conocen valores de f en un n
umero finito de
puntos.
Las formulas de Newton-Cotes son formulas del tipo:
Zb
a

f (x)dx =

M
X
k=0

wk f (xk ) + En ,

H = (b a)/M,

xk = a + kH.

Para determinar los {wk } (llamados Pesos de cuadratura) se usa la formula de


interpolacion de Lagrange.

1.

Integraci
on Numerica

Sea f C n+1 [a, b]. Sea M (x) el polinomio de grado M que interpola f en los M + 1
puntos (distintos) x0 , x1 , . . . , xM en el intervalo [a, b]. Para cada valor fijo x [a, b] existe
(x) (a, b) tal que
M

f (x) M (x) =
entonces

Zb

f (x)dx =

Zb

f (n+1) ((x)) Y
(x xk )
(n + 1)!
k=0

M (x) +

f (n+1) ((x)) Y
(x xk )dx
(n + 1)!

(1.1)

k=0

En particular, usando la forma de Lagrange del polinomio interpolante, M (x) =


M
M
P
Q
xxj
yk k (x) con k (x) =
tenemos el siguiente teorema.
xk xj
j=0,j6=k

k=0

Teorema 1.1.1. Sea f C n+1 [a, b]. Sea M (x) el polinomio de grado M que interpola
f en los M + 1 puntos (distintos) en el intervalo [a, b]. Existe (a, b) tal que
Z

f (x)dx =

M
X

yk

k=0

Siempre y cuando

M
Q

b
a

M
Y

x xj
f (n+1) ()
dx +
xk xj
(n + 1)!
j=0,j6=k

Z bY
M

(x xk )dx

(1.2)

a k=0

(x xk ) sea de un mismo signo en [a, b].

k=0

Dentro de las formulas de Newton-Cotes, existen las formas cerradas y abiertas. En


las formas cerradas se conocen los valores de f (x0 ) = f (a) y f (xM ) = f (b) ; en caso
contrario, se llaman formas abiertas.
Los dos teoremas que damos a continuacion permiten, obtener las formulas cerradas ya
biertas de Newton-Cotes respectivamente.
Para las cerradas se tiene que
Teorema 1.1.2. Supongamos que

M
P

wk f (xk ), es la f
ormula cerrada de Newton-Cotes

k=1

con x0 = a y xM = b,H =
Zb
a

f (x)dx =

M
X
k=0

ba
, entonces existe (a, b), tal que
M

H n+3 f (n+2) ()
wk f (xk ) +
(n + 2)!

ZM

v 2 (v 1)(v 2) . . . (v M)dv

si n es par, f C n+2 [a, b] y


Zb
a

M
X

H n+2 f (n+1) ()
f (x)dx =
wk f (xk ) +
(n + 1)!
k=0

ZM
0

v(v 1)(v 2) . . . (v M)dv

1.

Integraci
on Numerica

si n es impar, f C n+1 [a, b], wk =

Rb

k (x)dx.

Para la formulas abiertas el teorema es


Teorema 1.1.3. Supongamos que

M
P

wk f (xk ), es la f
ormula abierta de Newton-Cotes

k=1

con x0 = a y xM +2 = b,H =
Zb
a

ba
, entonces existe (a, b), tal que
M +2

M
X

H n+3f (n+2) ()
f (x)dx =
wk f (xk ) +
(n + 2)!
k=0

M
Z +2

v 2 (v 1)(v 2) . . . (v M)dv

si n es par, f C n+2 [a, b] y


Zb
a

M
X

H n+2 f (n+1) ()
f (x)dx =
wk f (xk ) +
(n + 1)!
k=0

M
Z +2

v(v 1)(v 2) . . . (v M)dv

si n es impar, f C n+1 [a, b].


Si comparamos una formula abierta con una cerrada utilizando el mismo n
umero M de
datos, el error de la formula abierta es significativamente mayor que el de la formula
cerrada.

1.2.

F
ormula del punto medio o del rect
angulo

Una aproximacion de la integral I(f ) consiste en aproximar el area bajo la curva y = f (x)
por rectangulos de base xk1 xk y altura f ( xk12+xk ), para esto se puede establecer
dividiendo el intervalo [a, b] en subintervalos Ik = [xk1 , xk ],
a + kH,

k = 1, . . . , M, con xk =

k = 0, . . . , M y H = (b a)/M. Como
I(f ) =

M Z
X
k=1 I

f (x)dx,

(1.3)

sobre cada subintervalo Ik podemos aproximar la integral exacta de f por la de un


polinomio f que aproxima f sobre Ik . La solucion mas simple consiste en elegir f como
el polinomio constante que interpola a f en el punto medio de Ik :
xk =

xk1 + xk
2

1.

Integraci
on Numerica

Desarrollando la ecuacion 1.3 :


Z
Z
Z
I(f ) = f (x)dx + f (x)dx + . . . + f (x)dx
I1

I2

IM

Desarrollando la integral en el intervalo k-esimo y aplicando Taylor en el punto xk hasta


el orden 3, tenemos
Rxk

f (x)dx =

xk1

Rxk

xk1

[f (xk ) + (x xk )f (xk ) +

= (xk xk1 )f (xk ) + f (xk )


Haciendo simples calculos

Rxk

Rxk

xk1

(xxk )2
f ((x))]dx
2

(x xk )dx +

Rxk

xk1

(xxk )2
f ((x))dx
2

(x xk )dx = 0, y por el teorema del valor medio para las

xk1

integrales, existe k [xk1 , xk ] tal que


Zxk

(x xk )2
1
f ((x))dx = f (k )
2
2

xk1

Zxk

(x xk )2 dx =

(xk xk1 )3
f (k )
24

xk1

de lo anterior
I(f ) =

M
P

(xk xk1 )f (xk ) +

k=1

=H

M
P

f (xk ) +

k=1

=H

M
P

f (xk ) +

k=1

Pero

M
P

f (k )

k=1

H 2 (ba)
. M
24
H2
(b
24

M
P

k=1
M
P

(xk xk1 )3
f (k )
24

f (k )

k=1
M
P

a)

f (k )

k=1

f (1 ) + f (2 ) + . . . + f (M )
=
M

es la media aritmetica de la funcion continua f , por tanto esta se puede reemplazar


por f () para alg
un (a, b), de modo que
I(f ) = H

M
X

f (xk ) +

k=1

b a 2
H f ()
24

De esta forma obtenemos la formula de cuadratura del punto medio compuesta


c
Imp
(f )

=H

M
X
k=1

f (xk )

(1.4)

1.

Integraci
on Numerica

10

El smbolo mp significa el punto medio, mientras que c quiere decir compuesta. Esta
formula es una aproximacion de segundo orden con respecto a H. Concretamente, si f
es dos veces continuamente diferenciable en [a, b], tenemos
c
I(f ) Imp
(f ) =

b a 2
H f ()
24

(1.5)

donde [a, b]. La formula (1.4) tambien se llama f


ormula de cuadratura del
rect
angulo compuesta a causa de su interpretacion geometrica, que es evidente a
partir de la figura (1.2). La formula del punto medio (o f
ormula del rect
angulo) se obtiene tomando M = 1 en (1.4), es decir, utilizando la regla del punto medio directamente
sobre el intervalo (a, b).

Figura 1.1: Formula del punto medio compuesta (izquierda); formula del punto medio
(derecha).

Imp (f ) = (b a)f [(a + b)/2]

(1.6)

Ahora deduciremos su error que es un caso especial de (1.5). Sea x = (a + b)/2, y


aplicando Taylor hasta el orden 3 en x :
Rb
I(f ) = [f (x) + (x x)f (x) +
a

(xx)2
f ((x))]dx
2

Rb
Rb
= (b a)f (x) + f (x) (x x)dx +
a

(xx)2
f ((x))dx
2

donde (x) es un punto apropiado del intervalo cuyos puntos extremos son x y x. HacienRb
do simples calculos (x x)dx = 0, y por el teorema del valor medio para las integrales,
a

existe [a, b] tal que


Zb
a

(x x)2
1
f ((x))dx = f ()
2
2

Zb
a

(x x)2 dx =

(b a)3
f ()
24

1.

Integraci
on Numerica

11

de lo anterior podemos concluir : I(f ) = (b a)f (x) +

(ba)3
f ()
24

y reemplazando la

ecuacion (1.6) obtenemos el error del punto medio:


(b a)3
I(f ) Imp (f ) =
f ().
24

(1.7)

Definici
on 1.2.1. El grado de exactitud de una formula de cuadratura es el maximo entero r 0 para el cual la integral aproximada (producida por la formula de
cuadratura) de cualquier polinomio de grado r es igual a la integral exacta.
Podemos deducir de (1.5) y (1.7) que la formula del punto medio tiene grado de exactitud
1, ya que integra exactamente todos los polinomios de grado menor o igual que 1 (pero
no todos los de grado 2).
Ejemplo 1.2.1. Hallar la siguiente integral aplicando la regla del rectangulo con M = 5,
Z2
ln xdx.
1

El valor de H =
f (x)

ln x

ba
M

21
5

= 0,2 y hallamos el valor de la funcion en cada xk .

x1

x2

x3

x4

x5

1.1

1.3

1.5

1.7

1.9

0.09531

0.26236

0.40546

0.53063

0.64185

Luego aplicando la formula del punto medio (1.4)


M
P
c
Imp
(f ) = H
f (xk )
k=1

= 0,2[0,09531 + 0,26236 + 0,40546 + 0,53063 + 0,64185]


= 0,387122
Ahora el error vendra dado por
e

(ba)
H 2 max |f (x)|
24
x[1,2]

= 0,0016667 max | x12 | = 0,0016667

1.

Integraci
on Numerica

1.3.

12

F
ormula del Trapecio

Otra aproximacion de la integral I(f ) consiste en aproximar el area bajo la curva y =


f (x) no por rectangulos sino por trapecios de base xk1 xk .
Puede obtenerse reemplazando f en Ik por el polinomio de interpolacion lineal de f en
los nudos xk1 y xk (equivalentemente, reemplazando f por H
1 f sobre todo el intervalo
(a, b)).
Sabemos que
H
1 f (x) = f (xk1 ) +

f (xk )f (xk1 )
(x
xk xk1

xk1 ) =

xxk
f (xk1 )
xk1 xk

xxk1
f (xk )
xk xk1

de esto tenemos que


Rb

H
1 f (x)dx =

=
=

M R
P

xxk
( xk1
f (xk1 ) +
xk

k=1 Ik
M
P
( f (x2 k ) (xk+1
k=1
M
X

H
2

xk ) +

xxk1
f (xk ))
xk xk1

f (xk1 )
(xk
2

x))

[f (xk ) + f (xk1 )]

k=1

o sea que
Zb
H
[f (x0 ) + f (x1 ) + f (x1 ) + f (x2 ) + f (x2 ) + . . . + f (xM 1 ) + f (xM 1 ) + f (xM )]
H
1 f (x)dx =
2
a

de modo que
Zb
H
H
{f (x0 ) + 2[f (x1 ) + f (x2 ) + . . . + f (xM 1 )] + f (xM )}
1 f (x)dx =
2
a

Por lo tanto
Zb

H
1 f (x)dx

M
1
X
H
= [f (a) + f (b)] + H
f (xk ) = Itc (f )
2
k=1

(1.8)

Esta formula se llama f


ormula del trapecio compuesta y es una aproximacion de
segundo orden con respecto a H. En efecto, veamos el siguiente teorema.
Teorema 1.3.1 ((El error de la formula del trapecio)). Sea f C 2 [a, b], entonces
[a, b] tal que:
es el error de cuadratura.

I(f ) Itc (f ) =

b a 2
H f ()
12

(1.9)

1.

Integraci
on Numerica

13
f
f

X
x0 =

xk

x M= b

x0= a

x 1= b

Figura 1.2: Formula del trapecio compuesta (izquierda); formula del trapecio (derecha).

Demostracion. Sabemos que en el intervalo [xk1 , xk ] la funcion f (x), esta dada por
(x xk1 )(x xk )
f (x) = k f (x)+Ek (x),siendo, k (x) el k-esimo polinomio de Lagrange y Ek (x) =
f
2!
(ver ecuacion (??)) luego entonces
Zxk

Zxk

f (x)dx =

xk1

1
k f (x)dx +
2!

Zxk

(x xk1 )(x xk )f ((x))dx

xk1

xk1

Pero por el teorema del valor medio para integrales existe k (xk1 , xk ), tal que
Zxk

f (x)dx =

xk1

Zxk

Zxk

f (k )
k f (x)dx +
2!

(x xk1 )(x xk )dx

xk1

xk1

sea x = xk1 + Hv, xk1 = a + (k 1)H = a + kH H = xk H, entonces x xk =


x xk1 H = Hv H = H(v 1) y dx = Hdv
Zxk

(x xk1 )(x xk )dx =

xk1

Por lo tanto

Zxk

Z1
0

H(v 1)HvHdv = H

Z1
0

(v 1)vdv =

H3
6

H3
(x xk1 )(x xk )dx = ,
6

xk1

Luego, el error en el intervalo [xk1 , xk ] es Ek =


Zb
a

pero H =

ba
,
M

f (x)dx =

Zb
a

H
1 f (x)dx

f (k )H 3
De lo anterior se tiene que
12

M
X
f (k )H 3
k=1

12

luego
Zb
a

M
M
HX
b a 2 X
f (x)dx =
[f (xk1 ) + f (xk )]
H
f (k )
2 k=1
12M
k=1

1.

Integraci
on Numerica

14

o sea que
Zb

H
f (x)dx =
2

M
P

f (k )
b a 2 k=1
[f (xk1 ) + f (xk )]
H
12
M
k=1

M
X

de modo que
Zb
a

M
HX
(b a)H 2
f (x)dx =
[f (xk1 ) + f (xk )]
f ()
2 k=1
12

Reemplazando I(f ) y Itc (f ) tenemos:


I(f ) Itc =

(b a)H 2
f ()
12

Cuando se utiliza (1.8) con M = 1, se obtiene


It (f ) =

ba
[f (a) + f (b)]
2

(1.10)

que es la llamada f
ormula del trapecio . El error inducido viene dado por
I(f ) It (f ) =

(b a)3
f ()
12

(1.11)

donde [a, b]. Podemos deducir que (1.10) tiene grado de exactitud igual a 1, como
en el caso de la regla del punto medio.
Ejemplo 1.3.1. Hallar la siguiente integral aplicando la regla del trapecio con M = 5,
Z2

ln xdx.

El valor de H =
f (x)

ln x

ba
M

21
5

= 0,2 y hallamos el valor de la funcion en cada nodo.

x0

x1

x2

x3

x4

x5

1.2

1.4

1.6

1.8

0.182321

0.33647

0.47000

0.58779

0.69315

Luego aplicando la formula del trapecio (1.8)

1.

Integraci
on Numerica

Itc (f ) =
=

H
[f (x0 )
2
0,2
[0
2

15

+ f (x6 )] + H

M
1
P

f (xk )

k=1

+ 0,69315] + 0,2[0,182321 + 0,33647 + 0,47000 + 0,58779] Ahora el er-

= 0,3846312
ror vendra dado por
e

(ba)
H 2 max |f (x)|
12
x[1,2]

1.4.

= 0,0002777 max | x12 | = 0,0003

F
ormula de Simpson

La formula de Simpson puede obtenerse reemplazando la integral de f sobre cada Ik por


la de su polinomio de interpolacion de grado 2 en los nudos xk1 , xk = (xk1 + xk )/2 y
xk ,
Q

2(xx)(xxk )
f (xk1)+
H2
k)
k1 )
+ 4(xk1H)(xx
f (xk ) + 2(xxk )(xx
f (xk )
2
H2

f (x) =

La formula resultante se llama f


ormula de cuadratura de Simpson compuesta
(ver figura 1.3) y se escribe
Isc (f ) =

M
HX
[f (xk1 ) + 4f (x) + f (xk )]
6

(1.12)

k=1

se puede probar que induce el error


I(f ) Isc (f ) =

b a H 4 (4)
f ()
180 16

(1.13)

donde es un punto apropiado de [a, b], con tal de que f C 4 ([a, b]). Por consiguiente
es una aproximacion de cuarto orden con respecto a H. Cuando (1.12) se aplica a un
u
nico intervalo (a, b), obtenemos la llamada f
ormula de cuadratura de Simpson
Is (f ) =

ba
[f (a) + 4f ((a + b)/2) + f (b)]
6

(1.14)

Ahora el error viene dado por


I(f ) Is (f ) =

1 (b a)5 (4)
f ()
16 180

(1.15)

para un [a, b] apropiado. Su grado de exactitud es, por tanto, igual a 3.


Ejemplo 1.4.1. Hallar la integral del ejemplo (1.3.1) aplicando la cuadratura de Simpson .

1.

Integraci
on Numerica

16

Figura 1.3: Formula de Simpson en el intervalo k-esimo

Soluci
on. Asumiendo que M = 5 tenemos que H = 0,2, de esto tenemos el valor de f
en cada nodo:
Luego aplicando la ecuacion (1.14) tenemos :
f (x)

x0

x1

x1

x2

x2

x3

x3

x4

1.1

1.2

1.3

1.4

1.5

1.6

1.7

ln x

0.095310

0.182321

0.262364

0.33647

0.405465

0.47000

0.530628

f (x)

x4

x5

x5

1.8

1.9

0.58779

0.641854

0.69315

ln x

0,2
[(f (x0 ) + 4f (x1 ) + f (x1 )) + . . . + (f (x4 ) + 4f (x5 ) + f (x5 ))]
6
0,2
==
[(0 + 4(0,095310) + 0,182321) + . . . + (0,58779 + 4(0,641854) + 0,69315)]
6
= 0,386293

Isc =

Isc

1.

Integraci
on Numerica

1.5.

17

F
ormula de Simpson de 3/8

La formula de (3/8) considera el valor de M = 3, con el proposito de obtener una


formula para integrar f (x) entre cuatro puntos consecutivos x0 , x1 , x2 , x3 , consistiendo
en aproximar la funcion mediante una cubica. Reemplazando f (x) por la del metodo de
Lagrange en dichos puntos.
3 f (x) =

(x x0 )(x x2 )(x x3 )
(x x1 )(x x2 )(x x3 )
f (x0 ) +
f (x1 )+
(x0 x1 )(x0 x2 )(x0 x3 )
(x1 x0 )(x1 x2 )(x1 x3 )
(x x0 )(x x1 )(x x3 )
(x x0 )(x x1 )(x x2 )
f (x2 ) +
f (x3 )
(x2 x0 )(x2 x1 )(x2 x3 )
(x3 x0 )(x3 x1 )(x3 x2 )

de esta expresion se tiene:


Rx3

x0

f (x0 )
3 f (x)dx =
(x0 x1 )(x0 x2 )(x0 x3 )
f (x1 )
+
(x1 x0 )(x1 x2 )(x1 x3 )
f (x2 )
+
(x2 x0 )(x2 x1 )(x2 x3 )
f (x3 )
+
(x1 x0 )(x3 x1 )(x3 x2 )

Zx3
(x x1 )(x x2 )(x x3 )dx+
x0

Zx3
(x x0 )(x x2 )(x x3 )dx+
x0

Zx3
(x x0 )(x x1 )(x x3 )dx+
x0

Zx3
(x x0 )(x x1 )(x x2 )dx
x0

si sustituimos:
x = x0 + Hv, como xk = x0 + kH,

k = 1, 2, 3, dx = Hdv

x x1 = H(v 1), x x2 = H(v 2), x x3 = H(v 3)

1.

Integraci
on Numerica

18

de esto:
Rx3

x0

Z3

f (x0 )
3 f (x)dx =
(H)(2H)(3H)

f (x1 )
+=
(H)(H)(2H)

Z3

H(v 1)H(v 2)H(v 3)Hdv+

vHH(v 2)H(v 3)Hdv+

f (x2 )
+=
(2H)(H)(H)

Z3
0

f (x3 )
+=
(3H)(2H)(H)

Z3

vHH(v 1)H(v 3)Hdv+

vHH(v 1)H(v 2)Hdv

de
esto resulta:
Zx3
3Hf (x0 ) 9Hf (x1 ) 9Hf (x2 ) 3Hf (x3 )
3 f (x)dx =
+
+
+
8
8
8
8
x0

Al final se tiene:
Zx3

3 f (x)dx =

3H
[f (x0 ) + 3f (x1 ) + 3f (x2 ) + f (x3 )] = Is3 (f )
8

(1.16)

x0

Esta formula (1.16) se conoce como la Regla de Simpson (3/8).


y su error es
I(f ) Is3 (f ) =

3H 5 (4)
f ()
80

(1.17)

Considerando los nodos x0 , x1 , . . . , xM del intervalo [a, b], para H = (b a)/(3M), con
xk = x0 +kH,

k = 0, 1, 2, . . . , M; aplicando en cada intervalo I3k [x3k3 , x3k ] la formula

se Simpson 3/8, luego en cada intervalo se tiene


Zx3k

3k f (x)dx =

3H
[f (x3k3 ) + 3f (x3k2 ) + 3f (x3k1 ) + f (x3k )]
8

x3k3

de esto se tiene
Zb
a

M
X
3H
M f (x)dx =
[
[f (x3k3 ) + 3f (x3k2 ) + 3f (x3k1 ) + f (x3k )]]
8
k=1

1.

Rb

Integraci
on Numerica

M f (x)dx =

3H
[f (x0 )
8

19

+ f (x3 ) + f (x6 ) + . . . + f (x3M 3 ) + 3f (x1 ) + 3f (x4 ) + 3f (x7 ) + . . .

+3f (x3M 2 ) + 3f (x2 ) + 3f (x5 ) + 3f (x8 ) + . . . + 3f (x3M 1 ) + f (x3 )+


+f (x6 ) + f (x9 ) + . . . + f (x3M )
Rb

M f (x)dx =

3H
[f (x0 )
8

+ f (x3M )] +

6H
[f (x3 )
8

+ f (x6 ) + f (x9 ) + . . . + f (x3M 3 )]+

+ 9H
[f (x1 ) + f (x4 ) + f (x7 ) + . . . + f (x3M 2 )]+
8
[f (x2 ) + f (x5 ) + f (x8 ) + . . . + f (x3M 1 )]
+ 9H
8

La formula resultante se llama f


ormula de cuadratura se Simpson (3/8) compuesta y se escribe
c
Is3
(f )

1.6.

M 1
M
M
3H
6H X
9H X
9H X
=
[f (a) + f (b)] +
f (x3k ) +
f (x3k2 ) +
f (x3k1 ) (1.18)
8
8 k=1
8 k=1
8 k=1

F
ormula de Boole

La formula de Boole considera el valor de M = 4, el cual haciendo el mismo procedimiento para la formula de Simpson 3/8 tenemos
I4 (f ) =

2H
[7f (x0 ) + 32f (x1 ) + 12f (x2 ) + 32f (x3 ) + 7f (x4 )]
45

(1.19)

y su error viene dado por


I(f ) I4 (f ) =

8H 7 (6)
f (),
945

para alg
un [a, b].

(1.20)

En una forma mas general, la aplicacion de Boole M veces sobre 4M subintervalos de


[a, b] que tiene todos el mismo tama
no H = (ba)/(4M), se llama f
ormula compuesta
de Boole.
IBC

M
2H X
[7f (x4k4 ) + 32f (x4k3) + 12f (x4k2 ) + 32f (x4k1 ) + 7f (x4k )]
=
45 k=1

(1.21)

Ejemplo 1.6.1. Hallar la integral del ejemplo (1.3.1) aplicando la formula compuesta
de Boole .
Soluci
on. Asumiendo que M = 5 tenemos que H = 0,05, de esto tenemos el valor de
f en cada nodo:
Luego aplicando la ecuacion (1.21) tenemos :

1.

Integraci
on Numerica

f (x)

20

x0

x1

x2

x3

x4

x5

x6

1.05

1.10

1.15

1.20

1.25

1.30

ln x

0.048790

0.095310

0.139761

0.182322

0.22314

0.262364

f (x)

x7

x8

x9

x10

x11

x12

x13

1.35

1.40

1.45

1.50

1.55

1.60

1.65

ln x

0.300105

0.336472

0.371564

0.405465

0.438255

0.470004

0.500775

f (x)

x14

x15

x16

x17

x18

x19

x20

1.70

1.75

1.80

1.85

1.90

1.95

0.530628

0.559616

0.587787

0.615186

0.641853

0.667829

0.693147

ln x
Isc

2 0,05
[(7f (x0 ) + 32f (x1 ) + 12f (x2 ) + 32f (x3 ) + 7f (x4 )) + . . . + (7f (x16 )+
45
+32f (x17 ) + 12f (x18 ) + 32f (x19 ) + 7f (x20 ))]
2 0,05
[(7(1) + 32(0,048790) + 12(0,095310) + 32(0,139761) + 7(0,182322)) + . . . +
=
45
+(7(0,587787) + 32(0,615186) + 12(0,641853) + 32(0,667829) + 7(0,693147))]
=

IBc = 0,386294
R2
OBSERVACION: Al aplicar el mismo ejemplo ( ln xdx) para todos los metodos de
1

cuadratura , nos podemos dar cuenta que el metodo de Boole es la mas optima, la cual
tiene una mejor aproximacion de la integral.

1.7.

Cuadraturas de tipo interpolatorio

Como hemos visto las formulas de Newton Cotes las formulas de cuadratura (no compuestas) son de la forma:
Iappr (f ) =

n
X

j f (yj )

(1.22)

j=0

donde {j } son pesos de cuadratura,{yj } son los nudos de cuadratura. Hemos visto que
para conseguir un grado de exactitud n debemos tomar
Iappr (f ) =

Zb
a

n f (x)dx

1.

Integraci
on Numerica

21

donde n f Pn es el polinomio de interpolacion de lagrange de f en los nudos yi , i =


0, . . . , n. Esto proporciona la siguiente expresion para los pesos
i =

Zb

i (x)dx,

i = 0, . . . , n

donde i es el i-esimo polinomio caracterstico de lagrange tal que i (x) =


Ejemplo 1.7.1. Para la formula del trapecio (1.10) tenemos n = 1,
0 =

Rb

0 (x)dx =

1 =

Rb

Rb
a

1 (x)dx =

Rb
a

xb
dx
ab

ba
,
2

xa
dx
ba

ba
.
2

M
Y

x xj
.
x
k xj
j=0,j6=0

x0 = a, x1 = b y

La cuestion que surge es si existe elecciones apropiadas de los nudos tales que el grado de
exactitud sea mayor que n, concretamente, igual a r = m + n para alg
un m > 0. Podemos simplificar nuestra discusion restringiendonos a un intervalo de referencia, digamos
(1, 1). En efecto, una vez que disponemos de un conjunto de nudos de cuadratura {y j }
y pesos {j } en [1, 1], entonces gracias al cambio de variable (??) podemos obtener
inmediatamente los correspondientes nudos y pesos,
yj =

a+b ba
y ,
+
2
2 j

j =

ba
j
2

en un intervalo de integracion arbitrario (a, b).


Proposici
on 1.7.1. Para un m > 0 dado, la f
ormula de cuadratura

n
P

j f (y j ) tiene

j=0

grado de exactitud n + m si y solo si es de tipo interpolatorio y el polinomio nodal


wn+1 = ni=0 (x y i ) asociado a los nudos {y i } es tal que
Z1

wn+1 p(x)dx = 0,

p Pm1 .

(1.23)

El valor maximo que m puede tomar es n + 1 y se alcanza con tal de que wn+1 sea
proporcional al llamado polinomio de Legendre de grado n + 1, Ln+1 (x). Los polinomios
de Legendre pueden calcularse recursivamente mediante la siguiente relacion de tres
terminos
L0 (x) = 1,
Lk+1 (x) =

L1 (x) = x
2k+1
L (x)
k+1 k

k
L (x),
k+1 k1

k = 1, 2, . . .

1.

Integraci
on Numerica

22

Para cada n = 0, 1, . . . , todo polinomio en Pn puede obtenerse mediante una combinacion


lineal de los polinomios L0 , L1 , . . . , Ln . Ademas, Ln+1 es ortogonal a todos los polinomios
R1
de grado menor o igual que n, es decir, Ln+1 (x)Lj (x)dx = 0 para todo j = 0, . . . , n.
1

Esto explica por que (1.23) es cierto para m igual pero no mayor que n + 1. El maximo

grado de exactitud es, por tanto, igual a 2n + 1 y se obtiene para la llamada formula de
Gauss-Legendre (abreviadamente IGL), cuyos nudos y pesos estan dados por

y j = ceros de Ln+1 (x),


2

, j = 0, . . . , n
j =

2
(1 y j )[Ln+1 (y j )]2

(1.24)

Los pesos j son todos positivos y los nudos son interiores al intervalo (1, 1). En la
Tabla 4.1 recogemos los nudos y pesos de las formulas de cuadratura de Gauss-Legendre
con n = 1, 2, 3, 4. Si f C (2n+2) ([1, 1]), el correspondiente error es
I(f ) IGL (f ) =

22n+3 ((n + 1)!)4


f (2n+2) ()
(2n + 3)((2n + 2)!)3

donde es un punto adecuado en (1, 1).


A menudo es utl incluir tambien los puntos extremos del intervalo entre los nudos
de cuadratura. Procediendo as, la formula de Gauss con grado de exactitud maximo
(2n1) es la que emplea los llamados nudos de Gauss-Legendre-Lobatto (abreviamente,
GLL): para n 1
y 0 = 1,

y n = 1,
j =

y j = ceros de Ln (x),

2
1
,
n(n + 1) [Ln (y j )2 ]

j = 1, . . . , n 1

(1.25)

j = 0, . . . , n

si f C (2n) ([1, 1]), el correspondiente error viene dado por


I(f ) IGLL (f ) =

(n + 1)n3 22n+1 ((n 1)!)4 (2n)


f ()
(2n + 1)((2n)!)3

Para un (1, 1) adecuado. En la tabla 4.2 damos una tabla de nudos y pesos sobre
el intervalo de referencia (-1,1) para n = 1, 2, 3, 4.(Para n = 1 recuperamos la regla del
trapecio).

1.

Integraci
on Numerica

n
1
2
3

{y j }

23

{j }

{1/ 3}

{ 15/5, 0}
p

(1/35) 525 70 30
p

(1/35) 525 + 70 30
p

{0, (1/21) 245 14 70


p

(1/21) 245 + 14 70

{1}
{5/9,8/9}

{(1/36)(18 + 30)}

(1/36)(18 30)

{128/225, (1/900)(322 + 13 70)}

(1/900)(322 13 70)

Cuadro 1.1: Nudos y pesos para algunas formulas de cuadratura de Gauss- Legendre
sobre el intervalo (1, 1). Los pesos correspondientes a pares simetricos de nudos se
incluyen solo una vez.

{y j }

{1}

{1}

{1, 0}

{1, 5/5}

{1, 21/7, 0}

{1/3, 4/3}

3
4

{1/6,5/6}
{1/10, 49/90, 32/45}

Cuadro 1.2: Nudos y pesos para algunas formulas de cuadratura de Gauss-LegendreLobatto sobre el intervalo (1, 1). Los pesos correspondientes a pares simetricos de
nudos se incluyen solo una vez.

CONCLUSIONES
1. Para calcular los ceros (o raices) de una funcion f se utilizan generalmente se
utilizan metodos de tipo iterativo.
2. El metodo de la biseccion es convergente con tal que f sea continua en el intervalo
inicial y tenga signos opuestos en los extremos de este intervalo.
3. El metodo de Newton calcula un cero de f teniendo en cuenta los valores de f y
de su derivada.
4. El metodo de la secante es una variacion del metodo de newton, pero mas eficiente.
5. Si una funcion se aproxima mediante un polinomio de interpolacion, no hay garanta
de que dicho polinomio converja a la funcion exacta al aumentar el n
umero de
datos. En general, la interpolacion mediante un polinomio de orden grande debe
evitarse o utilizarse con precauciones extremas.
6. La interpolacion de Chebyshev amortigua las grandes oscilaciones del fenomeno
de Runge.
7. Cuando f no es regular, se utiliza la interpolacion lineal a trozos.
8. La interpolacion por Spline c
ubicos permite aproxiamr f mediante una funcion
c
ubica a trozos f que es continua junto con sus derivadas primeras y segundas.
9. En la aproximacion de mnimos cuadrados buscamos una aproximacion f que sea
n
P
un polinomio de grado m y que minimice el error cuadratico medio [yi f (xi )]2 .
i=0

El mismo criterio de minimizacion puede ser aplicado a una clase de funciones que
no sean polinomios.

1.

Integraci
on Numerica

25

10. Una formula de cuadratura es una formula para aproximar la integral de funciones
continuas en un intervalo [a, b].
11. El grado de exactitud de una formula de cuadratura es el mayor grado de los
polinomios que son integrados exactamente por la formula. Es 1 para las reglas
del punto medio y del trapecio, 3 para la regla de Simpson y 2n+1 para la formula
de Gauss-Legendre.
12. El orden de precision de una formula de cuadratura compuesta es su orden respecto
al tama
no H de los subintervalos. El orden de precision es 2 para las formulas compuestas del punto medio y del trapecio, 4 para la formula de Simpson compuesta
y 6 para laformula de Boole.

Captulo 2

INTEGRACION NUMERICA
En analisis numerico, la integracion numerica constituye una amplia gama de algoritmos
para calcular el valor numerico de una integral definida y, por extension, el termino se
usa a veces para describir algoritmos numericos para resolver ecuaciones diferenciales. El
termino cuadratura numerica (a menudo abreviado a cuadratura) es mas o menos sinonimo de integracion numerica, especialmente si se aplica a integrales de una dimension a
pesar de que para el caso de dos o mas dimensiones (integral m
ultiple) tambien se utiliza.

Hay varias razones para llevar a cabo la integracion numerica. La principal puede ser
la imposibilidad de realizar la integracion de forma analtica. Es decir, integrales que
requeriran de un gran conocimiento y manejo de matematica avanzada pueden ser
resueltas de una manera mas sencilla mediante metodos numericos. Incluso existen funciones integrables pero cuya primitiva no puede ser calculada, siendo la integracion
numerica de vital importancia. La solucion analtica de una integral nos arrojara una
solucion exacta, mientras que la solucion numerica nos dara una solucion aproximada.
El error de la aproximacion, que depende del metodo que se utilice y de que tan fino
sea, puede llegar a ser tan peque
no que es posible obtener un resultado identico a la
solucion analtica en las primeras cifras decimales.

2.

Integracion Numerica

27

Los metodos de integracion numerica pueden ser descritos generalmente como combinacion de evaluaciones del integrando para obtener una aproximacion a la integral. Una
parte importante del analisis de cualquier metodo de integracion numerica es estudiar el
comportamiento del error de aproximacion como una funcion del n
umero de evaluaciones
del integrando. Un metodo que produce un peque
no error para un peque
no n
umero de
evaluaciones es normalmente considerado superior. Reduciendo el n
umero de evaluaciones del integrando se reduce el n
umero de operaciones aritmeticas involucradas, y
por tanto se reduce el error de redondeo total. Tambien, cada evaluacion cuesta tiempo,
y el integrando puede ser arbitrariamente complicado.

Este Capitulo trata sobre como encontrar los valores de Integracion, mediante la implementacion de Interfaces Graficas de Usuario (GUI) en Matlab. Los metodos numericos
de Integracion Numerica suelen ser metodos iterativos, que se espera, que converja a la
solucion analitica. Utilizaremos el metodo del Trapecio, de Simpson 1/3, Simpson 3/8,
Boole, Asi como la Integracion Doble y Triple.

No abordaremos la teora de cada metodo, dado que esta se encuentra en el Capitulo


IV: Integracion Numerica del Seminario de Matematica Pura FUNDAMENTOS DE
ECUACIONES NO LINEALES, INTERPOLACION, DIFERENCIACION
E INTEGRACION NUMERICA PARA EL CALCULO CIENTIFICO, aqui
comparemos los resultados con la implementacion de GUIs.

2.

Integracion Numerica

2.1.

28

Comparaci
on de M
etodos Iteractivos

En esta seccion analizaremos la solucion de dos problemas de Integracion :

2.1.1.

Analizando una funci


on trascendental

En esta seccion analizaremos la solucion de una funcion trascendenta la cual integraremos en el intervalo [0,5; 2].
Problema. Sea
f (x) =

100
10

sen(
)
x2
x

evaluada entre [0,5; 2]

Soluci
on. Al tratarse de una funcion trascendental hacemos uso de los metodos del
Trapecio, de Simpson 1/3, Simpson 3/8 y Boole.

2.

Integracion Numerica

Soluci
on 1. Utilizando el Metodo del Trapecio dividiendo el intervalo en 20 partes.

29

2.

Integracion Numerica

30

Soluci
on 2. Utilizando el Metodo del Trapecio dividiendo el intervalo en 200 partes.

2.

Integracion Numerica

31

Soluci
on 3. Utilizando el Metodo de Simpson 1/3 dividiendo el intervalo en 20 partes.

2.

Integracion Numerica

32

Soluci
on 4. Utilizando el Metodo de Simpson 1/3 dividiendo el intervalo en 200 partes.

2.

Integracion Numerica

33

Soluci
on 5. Utilizando el Metodo de Simpson 3/8 dividiendo el intervalo en 20 partes.

2.

Integracion Numerica

34

Soluci
on 6. Utilizando el Metodo de Simpson 3/8 dividiendo el intervalo en 200 partes.

2.

Integracion Numerica

Soluci
on 7. Utilizando el Metodo de Boole dividiendo el intervalo en 20 partes.

35

2.

Integracion Numerica

36

Soluci
on 8. Utilizando el Metodo de Boole dividiendo el intervalo en 200 partes.

2.1.2.

Analizando una funci


on Polinomica

En esta seccion analizaremos la solucion de una funcion polinomica la cual integraremos


en el intervalo [0,5; 2].
Problema. Sea
f (x) = 6000 1000 (1 + x)

((1 + x)5 1)
x

Soluci
on. Al tratarse de una funcion trascendental hacemos uso de los metodos del
Trapecio, de Simpson 1/3, Simpson 3/8 y Boole.

2.

Integracion Numerica

Soluci
on 9. Utilizando el Metodo del Trapecio dividiendo el intervalo en 20 partes.

37

2.

Integracion Numerica

38

Soluci
on 10. Utilizando el Metodo del Trapecio dividiendo el intervalo en 200 partes.

2.

Integracion Numerica

39

Soluci
on 11. Utilizando el Metodo de Simpson 1/3 dividiendo el intervalo en 20 partes.

2.

Integracion Numerica

40

Soluci
on 12. Utilizando el Metodo de Simpson 1/3 dividiendo el intervalo en 200 partes.

2.

Integracion Numerica

41

Soluci
on 13. Utilizando el Metodo de Simpson 3/8 dividiendo el intervalo en 20 partes.

2.

Integracion Numerica

42

Soluci
on 14. Utilizando el Metodo de Simpson 3/8 dividiendo el intervalo en 200 partes.

2.

Integracion Numerica

Soluci
on 15. Utilizando el Metodo de Boole dividiendo el intervalo en 1 parte.

43

Captulo 3

CODIGO FUENTE DE LOS GUIS

3.1.

Metodo del Trapecio

Listing 3.1: Boton Graficar


f u n c t i o n p u s h b u t t o n 1 _ C a l l b a c k ( hObject , eventdata , handles )
g l o b a l xx yy area n h x0 y0 f a b
f=g e t ( handles . edit1 , ' s t r i n g ' ) ;
a=str2doubl e ( g e t ( handles . edit2 , ' s t r i n g ' ) ) ;
b=str2doubl e ( g e t ( handles . edit3 , ' s t r i n g ' ) ) ;
n=str2doubl e ( g e t ( handles . edit4 , ' s t r i n g ' ) ) ;
h=(ba ) / n ;
x=a : h : b ;
xx=x ;
yy=e v a l ( f ) ;
area=(sum ( yy )+sum ( yy ( 2 : n ) ) ) ( h / 2 ) ;
fa=yy ( 1 ) ; fb=yy ( n+1) ; %L i m i t e s l a t e r a l e s
a x e s ( handles . grafica )
u1 =[ a a ] ; v1 =[0 fa ] ;
p l o t ( u1 , v1 , ' c o l o r ' , ' r ' ) ;
h o l d on
u2 =[ b b ] ; v2 =[0 fb ] ;
p l o t ( u2 , v2 , ' c o l o r ' , ' r ' ) ;
x=a : 0 . 0 1 : b ;
y=e v a l ( f ) ;
x0=x ; y0=y ;
yc=min ( y ) ; yd=max( y ) ;
a x i s ( [ a 0.5 b +0.5 yc1 yd +1])
plot (x , y , ' linewidth ' ,2.5 , ' color ' , ' r ' )
i f yc>=1
a x i s ( [ a 0.5 b +0.5 1 yd +1])

3.

Codigo Fuente de los GUIS

45

end
if

yd<=1
a x i s ( [ a 0.5 b +0.5 yc1 1 ] )

end
z=0y ;
plot (x , z , ' color ' , 'k ' ) ;
p l o t ( a , 0 , ' b ' , b , 0 , ' b ' ) ;
g r i d on
s e t ( handles . edit5 , ' s t r i n g ' , ' ' )
s e t ( handles . edit6 , ' s t r i n g ' , ' ' )
s e t ( handles . listbox1 , ' s t r i n g ' , ' ' )
s e t ( handles . pushbutton1 , ' e n a b l e ' , ' o f f ' )
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' on ' )

Listing 3.2: Boton Calcular


f u n c t i o n p u s h b u t t o n 2 _ C a l l b a c k ( hObject , eventdata , handles )
clc
g l o b a l xx yy area n h x0 y0 f a b intex
syms x
integral ( hObject , eventdata , handles )

listado= ' Areas


Parciales ' ;
u =[ xx ( 1 ) xx ( 1 : n +1) xx ( n+1) xx ( 1 ) ] ;
v =[0 yy ( 1 : n+1) 0 0 ] ;
a x e s ( handles . grafica )
d3= f i l l ( u , v , [ 0 . 4 0 . 7 5 0 . 7 5 ] ) ;
f o r j =1: n
ux =[ xx ( j ) xx ( j ) ] ; vx =[0 yy ( j ) ] ;
p l o t ( ux , vx , ' c o l o r ' , ' r ' )
s_area =(yy ( j )+yy ( j+1) ) ( h / 2 ) ;
listado=strvcat ( listado , num2str ( s_area , ' %20.10 f ' ) ) ;
s e t ( handles . listbox1 ,

' Value ' , 1 ) ;

s e t ( handles . listbox1 , ' s t r i n g ' , listado )


end
ar=num2str ( area , ' %20.10 f ' ) ;
are=num2str ( intex , ' %20.10 f ' ) ;
e r r o r=num2str ( abs ( areaintex ) , ' %20.10 f ' ) ;
p l o t ( x0 , y0 , ' l i n e w i d t h ' , 2 , ' c o l o r ' , ' r ' ) ;
s e t ( handles . edit5 , ' s t r i n g ' , ar )
s e t ( handles . edit6 , ' s t r i n g ' , are )
s e t ( handles . e r r o r , ' s t r i n g ' , e r r o r )
s e t ( handles . pushbutton1 , ' e n a b l e ' , ' on ' )
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' o f f ' )
h o l d off

3.

Codigo Fuente de los GUIS

Listing 3.3: Funcion Integral


f u n c t i o n integral ( hObject , eventdata , handles )
g l o b a l intex
f=vectorize ( inline ( g e t ( handles . edit1 , ' s t r i n g ' ) ) ) ;
a=str2doubl e ( g e t ( handles . edit2 , ' s t r i n g ' ) ) ;
b=str2doubl e ( g e t ( handles . edit3 , ' s t r i n g ' ) ) ;
% Extremos d e l i n t e r v a l o de i n t e g r a c i o n
% I n t e g r a l e x a c t a ( r e q u i e r e l a t o o l b o x de s i m b o l i c o
syms x ;
intex=double ( int ( f ( x ) , ' x ' , a , b ) ) ;

46

3.

Codigo Fuente de los GUIS

3.2.

47

Metodo de Simpson 1/3

Listing 3.4: Boton Graficar


f u n c t i o n p u s h b u t t o n 1 _ C a l l b a c k ( hObject , eventdata , handles )
clc
g l o b a l xx yy area h x0 y0 f a b n
f=g e t ( handles . edit1 , ' s t r i n g ' ) ;
a=str2doubl e ( g e t ( handles . edit2 , ' s t r i n g ' ) ) ;
b=str2doubl e ( g e t ( handles . edit3 , ' s t r i n g ' ) ) ;
n=str2doubl e ( g e t ( handles . edit4 , ' s t r i n g ' ) ) ;
h=(ba ) / (2 n ) ;
x=a : h : b ;
xx=x ;
yy=e v a l ( f ) ;
area=(sum ( yy ) +2sum ( yy ( 2 : 2 : 2 n ) )+sum ( yy ( 2 : 2 n ) ) ) ( h / 3 ) ;
fa=yy ( 1 ) ; fb=yy (2 n +1) ;
%L i m i t e s

laterales

a x e s ( handles . grafica )
u1 =[ a a ] ; v1 =[0 fa ] ;
p l o t ( u1 , v1 , ' c o l o r ' , ' r ' ) ;
h o l d on
u2 =[ b b ] ; v2 =[0 fb ] ;
p l o t ( u2 , v2 , ' c o l o r ' , ' r ' ) ;
x=a : 0 . 0 1 : b ;
y=e v a l ( f ) ;
x0=x ; y0=y ;
yc=min ( y ) ; yd=max( y ) ;
a x i s ( [ a 0.5 b +0.5 yc1 yd +1])
plot (x , y , ' linewidth ' ,2 , ' color ' , ' r ' )
i f yc>=1
a x i s ( [ a 0.5 b +0.5 1 yd +1])
end
if

yd<=1
a x i s ( [ a 0.5 b +0.5 yc1 1 ] )

end
z=0y ;
plot (x , z , ' color ' , 'k ' ) ;
p l o t ( a , 0 , ' b ' , b , 0 , ' b ' ) ;
g r i d on
s e t ( handles . edit5 , ' s t r i n g ' , ' ' )
s e t ( handles . edit6 , ' s t r i n g ' , ' ' )
s e t ( handles . listbox1 , ' s t r i n g ' , ' ' )
s e t ( handles . pushbutton1 , ' e n a b l e ' , ' o f f ' )
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' on ' )

3.

Codigo Fuente de los GUIS

48

Listing 3.5: Boton Calcular


f u n c t i o n p u s h b u t t o n 2 _ C a l l b a c k ( hObject , eventdata , handles )
clc
g l o b a l xx yy area h x0 y0 intex f a b n

integral ( hObject , eventdata , handles )

listado= ' Areas


Parciales ' ;
a x e s ( handles . grafica )

xv=xx ( 1 ) ; yv =0;

f o r k =1: n
px =[ xx (2 k 1) xx (2 k ) xx (2 k+1) ] ;
py =[ yy (2 k 1) yy (2 k ) yy (2 k+1) ] ;
p=p o l y f i t ( px , py , 2 ) ;
hh=h / 1 0 ;
x=xx (2 k 1) : hh : xx (2 k+1) ;
y=p o l y v a l ( p , x ) ;
xu=x ; yu=y ;
xv =[ xv xu ] ;
yv =[ yv yu ] ;
end
u =[ xv xx (2 n +1) xx ( 1 ) ] ;
v =[ yv 0 0 ] ;

d3= f i l l ( u , v , [ 0 . 5 0 . 8 0 . 8 ] ) ;

%a r e a s p a r c i a l e s
f o r j =1: n
ux =[ xx (2 j+1) xx (2 j+1) ] ; vx =[0 yy (2 j+1) ] ;
p l o t ( ux , vx )
s_area =(yy (2 j 1)+4yy (2 j )+yy (2 j +1) ) ( h / 3 ) ;
listado=strvcat ( listado , num2str ( s_area , ' %20.10 f ' ) ) ;
s e t ( handles . listbox1 , ' s t r i n g ' , listado ) ;
end

ar=num2str ( area , ' %20.10 f ' ) ;


are=num2str ( intex , ' %20.10 f ' ) ;
e r r o r=num2str ( abs ( areaintex ) , ' %20.10 f ' ) ;
p l o t ( x0 , y0 , ' l i n e w i d t h ' , 2 , ' c o l o r ' , ' r ' ) ;
s e t ( handles . edit5 , ' s t r i n g ' , ar )
s e t ( handles . edit6 , ' s t r i n g ' , are )
s e t ( handles . e r r o r , ' s t r i n g ' , e r r o r )
s e t ( handles . pushbutton1 , ' e n a b l e ' , ' on ' )
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' o f f ' )
h o l d off

3.

Codigo Fuente de los GUIS

3.3.

49

Metodo de Simpson 3/8

Listing 3.6: Boton Graficar


f u n c t i o n p u s h b u t t o n 1 _ C a l l b a c k ( hObject , eventdata , handles )
clc
g l o b a l xx yy area n h x0 y0 f a b
f=g e t ( handles . edit1 , ' s t r i n g ' ) ;
a=str2doubl e ( g e t ( handles . edit2 , ' s t r i n g ' ) ) ;
b=str2doubl e ( g e t ( handles . edit3 , ' s t r i n g ' ) ) ;
n=str2doubl e ( g e t ( handles . edit4 , ' s t r i n g ' ) ) ;
h=(ba ) / (3 n ) ;
x=a : h : b ;
xx=x ;
yy=e v a l ( f ) ;
area1=sum ( yy )+sum ( yy ( 2 : 3 n ) ) ;
area2=sum ( yy ( 2 : 3 : 3 n 1) )+sum ( yy ( 3 : 3 : 3 n ) ) ;
area=(area1+area2 ) ( ( 3 h ) / 8 ) ;
fa=yy ( 1 ) ; fb=yy (3 n +1) ; %L i m i t e s

laterales

a x e s ( handles . grafica )
u1 =[ a a ] ; v1 =[0 fa ] ;
p l o t ( u1 , v1 , ' c o l o r ' , ' r ' ) ;
h o l d on
u2 =[ b b ] ; v2 =[0 fb ] ;
p l o t ( u2 , v2 , ' c o l o r ' , ' r ' ) ;
x=a : 0 . 0 1 : b ;
y=e v a l ( f ) ;
x0=x ; y0=y ;
yc=min ( y ) ; yd=max( y ) ;
a x i s ( [ a 0.5 b +0.5 yc1 yd +1])
plot (x , y , ' linewidth ' ,2 , ' color ' , ' r ' )
i f yc>=1
a x i s ( [ a 0.5 b +0.5 1 yd +1])
end
if

yd<=1
a x i s ( [ a 0.5 b +0.5 yc1 1 ] )

end
z=0y ;
plot (x , z , ' color ' , 'k ' ) ;
p l o t ( a , 0 , ' b ' , b , 0 , ' b ' ) ;
g r i d on
s e t ( handles . edit5 , ' s t r i n g ' , ' ' )
s e t ( handles . edit6 , ' s t r i n g ' , ' ' )
s e t ( handles . listbox1 , ' s t r i n g ' , ' ' )
s e t ( handles . pushbutton1 , ' e n a b l e ' , ' o f f ' )
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' on ' )

3.

Codigo Fuente de los GUIS

50

3.

Codigo Fuente de los GUIS

51

Listing 3.7: Boton Calcular


f u n c t i o n p u s h b u t t o n 2 _ C a l l b a c k ( hObject , eventdata , handles )
clc
g l o b a l xx yy area h x0 y0 f a b n intex
integral ( hObject , eventdata , handles )

listado= ' Areas


Parciales ' ;
a x e s ( handles . grafica )

xv=xx ( 1 ) ; yv =0;

f o r k =1: n
px =[ xx (3 k 2) xx (3 k 1) xx (3 k ) xx (3 k+1) ] ;
py =[ yy (3 k 2) yy (3 k 1) yy (3 k ) yy (3 k+1) ] ;
p=p o l y f i t ( px , py , 3 ) ;
hh=h / 1 0 ;
x=xx (3 k 2) : hh : xx (3 k+1) ;
y=p o l y v a l ( p , x ) ;
xu=x ; yu=y ;
xv =[ xv xu ] ;
yv =[ yv yu ] ;

end

u =[ xv xx (3 n +1) xx ( 1 ) ] ;
v =[ yv 0 0 ] ;
d3= f i l l ( u , v , [ 0 . 5 0 . 8 0 . 8 ] ) ;
%a r e a s p a r c i a l e s
f o r j =1: n
ux =[ xx (3 j 2) xx (3 j 2) ] ; vx =[0 yy (3 j 2) ] ;
p l o t ( ux , vx , ' c o l o r ' , ' r ' )
s_area =(yy (3 j 2)+3yy (3 j 1)+3yy (3 j )+yy (3 j +1) ) (3 h / 8 ) ;
listado=strvcat ( listado , num2str ( s_area , ' %20.10 f ' ) ) ;
s e t ( handles . listbox1 , ' s t r i n g ' , listado ) ;
end
ar=num2str ( area , ' %20.10 f ' ) ;
are=num2str ( intex , ' %20.10 f ' ) ;
e r r o r=num2str ( abs ( areaintex ) , ' %20.10 f ' ) ;
p l o t ( x0 , y0 , ' l i n e w i d t h ' , 2 , ' c o l o r ' , ' r ' ) ;
s e t ( handles . edit5 , ' s t r i n g ' , ar )
s e t ( handles . edit6 , ' s t r i n g ' , are )
s e t ( handles . e r r o r , ' s t r i n g ' , e r r o r )
s e t ( handles . pushbutton1 , ' e n a b l e ' , ' on ' )
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' o f f ' )
h o l d off

3.

Codigo Fuente de los GUIS

3.4.

52

Metodo de Boole

Listing 3.8: Boton Graficar


f u n c t i o n p u s h b u t t o n 1 _ C a l l b a c k ( hObject , eventdata , handles )
clc
g l o b a l xx yy area n h x0 y0 f a b
f=g e t ( handles . edit1 , ' s t r i n g ' ) ;
a=str2doubl e ( g e t ( handles . edit2 , ' s t r i n g ' ) ) ;
b=str2doubl e ( g e t ( handles . edit3 , ' s t r i n g ' ) ) ;
n=str2doubl e ( g e t ( handles . edit4 , ' s t r i n g ' ) ) ;
h=(ba ) / (4 n ) ;
x=a : h : b ;
xx=x ;
yy=e v a l ( f ) ;
area1 =14yy ( 1 ) +14yy (4 n+1)+64sum ( yy ( 2 : 2 : 4 n ) ) ;
area2 =24sum ( yy ( 3 : 4 : 4 n 1) ) +28sum ( yy ( 5 : 4 : 4 n 3) ) ;
area=(area1+area2 ) ( h / 4 5 ) ;
fa=yy ( 1 ) ; fb=yy (4 n +1) ; %L i m i t e s

laterales

a x e s ( handles . grafica )
u1 =[ a a ] ; v1 =[0 fa ] ;
p l o t ( u1 , v1 , ' c o l o r ' , ' r ' ) ;
h o l d on
u2 =[ b b ] ; v2 =[0 fb ] ;
p l o t ( u2 , v2 , ' c o l o r ' , ' r ' ) ;
x=a : 0 . 0 1 : b ;
y=e v a l ( f ) ;
x0=x ; y0=y ;
yc=min ( y ) ; yd=max( y ) ;
a x i s ( [ a 0.5 b +0.5 yc1 yd +1])
plot (x , y , ' linewidth ' ,2 , ' color ' , ' r ' )
i f yc>=1
a x i s ( [ a 0.5 b +0.5 1 yd +1])
end
if

yd<=1
a x i s ( [ a 0.5 b +0.5 yc1 1 ] )

end
z=0y ;
plot (x , z , ' color ' , 'k ' ) ;
p l o t ( a , 0 , ' b ' , b , 0 , ' b ' ) ;
g r i d on
s e t ( handles . edit5 , ' s t r i n g ' , ' ' )
s e t ( handles . edit6 , ' s t r i n g ' , ' ' )
s e t ( handles . listbox1 , ' s t r i n g ' , ' ' )
s e t ( handles . pushbutton1 , ' e n a b l e ' , ' o f f ' )
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' on ' )

3.

Codigo Fuente de los GUIS

53

3.

Codigo Fuente de los GUIS

54

Listing 3.9: Boton Calcular


f u n c t i o n p u s h b u t t o n 2 _ C a l l b a c k ( hObject , eventdata , handles )
clc
g l o b a l xx yy area h x0 y0 intex f a b n
integral ( hObject , eventdata , handles )

listado= ' Areas


Parciales ' ;
a x e s ( handles . grafica )
xv=xx ( 1 ) ; yv =0;

f o r k =1: n
px =[ xx (4 k 3) xx (4 k 2) xx (4 k 1) xx (4 k ) xx (4 k+1) ] ;
py =[ yy (4 k 3) yy (4 k 2) yy (4 k 1) yy (4 k ) yy (4 k+1) ] ;
p=p o l y f i t ( px , py , 4 ) ;
hh=h / 1 0 ;
x=xx (4 k 3) : hh : xx (4 k+1) ;
y=p o l y v a l ( p , x ) ;
xu=x ; yu=y ;
xv =[ xv xu ] ;
yv =[ yv yu ] ;
end

u =[ xv xx (4 n +1) xx ( 1 ) ] ;
v =[ yv 0 0 ] ;

d3= f i l l ( u , v , [ 0 . 5 0 . 8 0 . 8 ] ) ;

%a r e a s p a r c i a l e s
f o r j =1: n
ux =[ xx (4 j 3) xx (4 j 3) ] ; vx =[0 yy (4 j 3) ] ;
p l o t ( ux , vx )
s_area =(14 yy (4 j 3)+64yy (4 j 2)+24yy (4 j 1)+64yy (4 j ) +14yy (4 j+1) ) ( h / 4 5 ) ;
listado=strvcat ( listado , num2str ( s_area , ' %20.10 f ' ) ) ;
s e t ( handles . listbox1 , ' s t r i n g ' , listado ) ;
end
ar=num2str ( area , ' %20.10 f ' ) ;
are=num2str ( intex , ' %20.10 f ' ) ;
e r r o r=num2str ( abs ( areaintex ) , ' %20.10 f ' ) ;
p l o t ( x0 , y0 , ' l i n e w i d t h ' , 2 , ' c o l o r ' , ' r ' ) ;
s e t ( handles . edit5 , ' s t r i n g ' , ar )
s e t ( handles . edit6 , ' s t r i n g ' , are )
s e t ( handles . e r r o r , ' s t r i n g ' , e r r o r )
s e t ( handles . pushbutton1 , ' e n a b l e ' , ' on ' )
s e t ( handles . pushbutton2 , ' e n a b l e ' , ' o f f ' )
h o l d off

BIBLIOGRAFIA
[1] Buhmann, M. D. (2004). Radial Basis Functions: Theory and Implementations.
Cambridge University Press. United Kingdom.

[2] Aleman M.; Alvarez


L.; Sanchez J. An
alisis Numerico[en lnea]. [consulta 2012].
[3] Burden R.L; Faires J.D . (2001). Numerical Abalysis. Cengage Learning Latin
America.
[4] Cobos

J.

Apuntes

de

C
alculo

Numerico[en

http://ma1.eii.us.es/Material/Cal_Num_itis_Apuntes.pdf

lnea].
[consulta

2012]
[5] Comer E.(2009) Metodos Numericos Instituto Tecnologico de Tijuana.
[6] Mathews J.; Fink K.(2000) Metodos Numericos con MATLAB. Prentice Hall,
Madrid.
[7] Meja C.(2002) Invitacion al An
alisis Numerico. Universidad Nacional de Colombia, Medelln.
[8] Mora W.F.(2010) Introduccion a los Metodos Numericos. Instituto Tecnologico de
Costa Rica.
[9] M
uller H. (1996) Una Introducci
on al An
alisi Numerico. Universidad Mayor de
San Simon. Cochabamba, Bolivia.
[10] Nakamura, S. (1992). Metodos Numericos Aplicados con Software. Pearson Educacion.

BIBLIOGRAFIA

56

[11] A. Quarteroni, F. Saleri. (2006). C


alculo Cientifico con MATLAB y Octave.
Springer-Verlag, Italia, Milano.
[12] Velasquez J.(2007) Analisis Numerico. Ediciones Uninorte.
[13] Won Y. Yang , Wenwu Cao , Tae-Sang Chung , John Morris(2005) Applied Numerical Methods Using MATLAB. John Wiley Sons.
[14] V. Dominguez. L. Rapun Matlab en cinco lecciones de Numerico[en lnea].
http://www.unavarra.es/personal/victor dominguez/ [consulta 2012]
[15] Carrasco V.(2011) Metodos Numericos Aplicados a la Ingeniera Problemas en
Polymath y Matlab. MACRO
[16] Morales M.(2010) Matlab R2010a Metodos Numericos con Visualizaci
on Grafica.
MACRO
[17] Amancio R., Orbegoso G., Mu
noz G., Villalta R. (2010) Matlab 2010 - Software
para ciencia e ingeniera. MACRO
[18] Moler, C. (2004) Numerical computing with Matlab. SIAM
[19] Pineiro

G.

APUNTES

DE

MATLAB [en

lnea].

http://www.uhu.es/candido.pineiro/docencia/apuntesmatlab.pdf [consulta 2012]


[20] J. Cooper A Matlab Companior for Multivariable Calculus
[21] Chavil M. Sistema experto en Maple Para el an
alisis de Curvas y superficies en
R3
[22] Gonzales M., Sanchez R. Gr
aficas de curvas y superficies usando Matlab

S-ar putea să vă placă și